31 lines
613 B
TypeScript
31 lines
613 B
TypeScript
import { createSlice, PayloadAction} from "@reduxjs/toolkit";
|
|
|
|
// Типы данных
|
|
interface StorState {
|
|
menu: {
|
|
activePage: string;
|
|
}
|
|
}
|
|
|
|
// Инициализация состояния
|
|
const initialState: StorState = {
|
|
menu: {
|
|
activePage: "",
|
|
}
|
|
};
|
|
|
|
|
|
// Slice
|
|
const storeSlice = createSlice({
|
|
name: "store",
|
|
initialState,
|
|
reducers: {
|
|
setMenuActivePage: (state, activePage: PayloadAction<string>) => {
|
|
state.menu.activePage = activePage.payload;
|
|
},
|
|
},
|
|
});
|
|
|
|
export const { setMenuActivePage } = storeSlice.actions;
|
|
export const storeReducer = storeSlice.reducer;
|