chore: fix filter initial state

pull/2899/head v0.19.1
Steven 1 year ago
parent 8340e6b247
commit 374f3f7d96

@ -1,5 +1,5 @@
import store, { useAppSelector } from "..";
import { Filter, setFilter } from "../reducer/filter";
import { setFilter } from "../reducer/filter";
export const useFilterStore = () => {
const state = useAppSelector((state) => state.filter);
@ -9,9 +9,6 @@ export const useFilterStore = () => {
getState: () => {
return store.getState().filter;
},
setFilter: (filter: Filter) => {
store.dispatch(setFilter(filter));
},
clearFilter: () => {
store.dispatch(
setFilter({

@ -8,9 +8,23 @@ interface State {
export type Filter = State;
const getInitialState = (): State => {
const state: State = {};
const urlParams = new URLSearchParams(location.search);
const tag = urlParams.get("tag");
const text = urlParams.get("text");
if (tag) {
state.tag = tag;
}
if (text) {
state.text = text;
}
return state;
};
const filterSlice = createSlice({
name: "filter",
initialState: {} as State,
initialState: getInitialState(),
reducers: {
setFilter: (state, action: PayloadAction<Partial<State>>) => {
if (JSON.stringify(action.payload) === state) {

Loading…
Cancel
Save