mirror of https://github.com/usememos/memos
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import { configureStore } from "@reduxjs/toolkit";
|
|
import { TypedUseSelectorHook, useDispatch, useSelector } from "react-redux";
|
|
import globalReducer from "./reducer/global";
|
|
import userReducer from "./reducer/user";
|
|
import memoReducer from "./reducer/memo";
|
|
import shortcutReducer from "./reducer/shortcut";
|
|
import filterReducer from "./reducer/filter";
|
|
import resourceReducer from "./reducer/resource";
|
|
import dialogReducer from "./reducer/dialog";
|
|
import tagReducer from "./reducer/tag";
|
|
import layoutReducer from "./reducer/layout";
|
|
|
|
const store = configureStore({
|
|
reducer: {
|
|
global: globalReducer,
|
|
user: userReducer,
|
|
memo: memoReducer,
|
|
tag: tagReducer,
|
|
shortcut: shortcutReducer,
|
|
filter: filterReducer,
|
|
resource: resourceReducer,
|
|
dialog: dialogReducer,
|
|
layout: layoutReducer,
|
|
},
|
|
});
|
|
|
|
type AppState = ReturnType<typeof store.getState>;
|
|
type AppDispatch = typeof store.dispatch;
|
|
|
|
export const useAppSelector: TypedUseSelectorHook<AppState> = useSelector;
|
|
export const useAppDispatch: () => AppDispatch = useDispatch;
|
|
|
|
export default store;
|