|
|
@@ -1,13 +1,47 @@
|
|
|
// 引入创建仓库方法
|
|
|
-import { configureStore } from "@reduxjs/toolkit";
|
|
|
+import { configureStore, combineReducers } from "@reduxjs/toolkit";
|
|
|
+
|
|
|
// 将切片进行引入
|
|
|
import counterSlice from "./slices/counterSlice";
|
|
|
+import userInfoSlice from './slices/userInfo';
|
|
|
+
|
|
|
+// 引入storage
|
|
|
+import storage from 'redux-persist/lib/storage'
|
|
|
+
|
|
|
+// 合并reducer
|
|
|
+const rootReducer = combineReducers({
|
|
|
+ counterSlice,
|
|
|
+ userInfoSlice
|
|
|
+})
|
|
|
+
|
|
|
+// persist配置
|
|
|
+const persistConfig = {
|
|
|
+ key: 'redux-main',
|
|
|
+ storage,
|
|
|
+ whiteList: ['user1'],
|
|
|
+ // blackList:[]
|
|
|
+}
|
|
|
+
|
|
|
+// 将reducer传入持久化中 // 数据持久化 redux-persist
|
|
|
+const persistReducer = persistReducer(persistConfig, rootReducer)
|
|
|
|
|
|
// 将切片集成到仓库上
|
|
|
const store = configureStore({
|
|
|
- reducer: {
|
|
|
- counterSlice
|
|
|
- }
|
|
|
+ reducer: persistReducer,
|
|
|
+ middleware: getDefaultMiddleware => getDefaultMiddleware({
|
|
|
+ serializableCheck: {
|
|
|
+ ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER]
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * FLUSH state变化
|
|
|
+ * PAUSE 调用persist.pause方法
|
|
|
+ * REHYDRATE 页面加载
|
|
|
+ * PERSIST 手动调用
|
|
|
+ * PURGE 调用persist.purge方法
|
|
|
+ * REGISTER 初始化
|
|
|
+ */
|
|
|
+ })
|
|
|
+
|
|
|
})
|
|
|
|
|
|
// 抛出 外部使用
|