Commit 374f3f7d authored by Steven's avatar Steven

chore: fix filter initial state

parent 8340e6b2
import store, { useAppSelector } from ".."; import store, { useAppSelector } from "..";
import { Filter, setFilter } from "../reducer/filter"; import { setFilter } from "../reducer/filter";
export const useFilterStore = () => { export const useFilterStore = () => {
const state = useAppSelector((state) => state.filter); const state = useAppSelector((state) => state.filter);
...@@ -9,9 +9,6 @@ export const useFilterStore = () => { ...@@ -9,9 +9,6 @@ export const useFilterStore = () => {
getState: () => { getState: () => {
return store.getState().filter; return store.getState().filter;
}, },
setFilter: (filter: Filter) => {
store.dispatch(setFilter(filter));
},
clearFilter: () => { clearFilter: () => {
store.dispatch( store.dispatch(
setFilter({ setFilter({
......
...@@ -8,9 +8,23 @@ interface State { ...@@ -8,9 +8,23 @@ interface State {
export type Filter = 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({ const filterSlice = createSlice({
name: "filter", name: "filter",
initialState: {} as State, initialState: getInitialState(),
reducers: { reducers: {
setFilter: (state, action: PayloadAction<Partial<State>>) => { setFilter: (state, action: PayloadAction<Partial<State>>) => {
if (JSON.stringify(action.payload) === state) { if (JSON.stringify(action.payload) === state) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment