【React】redux数据持久化存储(react-redux、redux-RTK)
1、下载依赖
npm i redux redux-persist
2、src/redux/index.jsx
import {configureStore} from "@reduxjs/toolkit";
import {userInfoReduce} from "./userInfoSlice.jsx";
import {globalReducer} from "./globalSlice.jsx";
import {combineReducers} from "redux";
import {persistReducer, persistStore} from 'redux-persist';
import storageSession from 'redux-persist/lib/storage/session';
const persistConfig = {
key:'root',
storage:storageSession,
}
const persistedReducer = persistReducer(
persistConfig,
combineReducers({
userInfo:userInfoReduce,
globalX:globalReducer
})
)
export const store = configureStore({
reducer:persistedReducer,
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware({
serializableCheck: false,
}),
})
export const persistor = persistStore(store)
3、src/main.jsx
import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App.jsx'
import {Provider} from "react-redux";
import {store,persistor} from "./redux/index.jsx";
import {PersistGate} from "redux-persist/integration/react"
ReactDOM.createRoot(document.getElementById('root')).render(
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<App/>
</PersistGate>
</Provider>
)