assistant-note/src/redux/store.js

45 lines
1.6 KiB
JavaScript

import {configureStore} from '@reduxjs/toolkit'
import historyReducer from './historyRecord_reducer'
import dirMessageReducer from './dirMessage_reducer'
import pushHotkeysReducer from "./pushHotkeys_reducer";
import tableBarItemReducer from "./tableBarItem_reducer";
import {electronStorage} from "../utils/LocalStorage";
import { persistStore, persistReducer } from 'redux-persist'
// 持久化配置
const historyRecordPersistConfig = {
key: 'historyRecord',
storage: electronStorage()
}
const dirMessagePersistConfig = {
key: 'dirMessage',
storage: electronStorage()
}
const pushHotkeysPersistConfig = {
key: 'pushHotkeys',
storage: electronStorage()
}
const tableBarItemPersistConfig = {
key: 'tableBarItem',
storage: electronStorage()
}
const historyRecordPersistedReducer = persistReducer(historyRecordPersistConfig, historyReducer)
const dirMessagePersistedReducer = persistReducer(dirMessagePersistConfig, dirMessageReducer)
const pushHotkeysPersistedReducer = persistReducer(pushHotkeysPersistConfig, pushHotkeysReducer)
const tableBarItemPersistedReducer = persistReducer(tableBarItemPersistConfig, tableBarItemReducer)
export const store = configureStore({
reducer: {
historyRecord:historyRecordPersistedReducer,
dirMessage:dirMessagePersistedReducer,
pushHotkeys:pushHotkeysPersistedReducer,
tableBarItem:tableBarItemPersistedReducer,
},
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware({
serializableCheck: false
}),
})
export const persistor = persistStore(store);