如何持久化 Redux 数据
redux-persist
改写 store.js 文件
import {combineReducers, configureStore} from "@reduxjs/toolkit";
import persistReducer from "redux-persist/es/persistReducer";
import storage from 'redux-persist/lib/storage'
import {FLUSH, PAUSE, PERSIST, PURGE, REGISTER, REHYDRATE} from "redux-persist/es/constants";
export default configureStore({
reducer: persistReducer(
{key: 'root', storage},
combineReducers({
xxx: xxxReducer...
})
),
// 需要添加下列字段,不然会报错
middleware: getDefaultMiddleware => getDefaultMiddleware({
serializableCheck: {
ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER],
}
}),
})
然后在 <Provider store={store}>
标签内再嵌套
let persistor = persistStore(store)
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
</PersistGate>
</Provider>
Last updated