redux持久化(<PersistGate loading={null} persistor={persistStore(store)}></PersistGate>)

//引入标题括号中的 PersistGate 这一句在Provider标签里面
//import { PersistGate } from ‘redux-persist/lib/integration/react’

import { createStore, compose, combineReducers, applyMiddleware } from ‘redux’
import promise from ‘redux-promise’ // 中间件
import thunk from ‘redux-thunk’ // 中间件
import reduces from ‘@/reducer’
import { persistReducer } from ‘redux-persist’ // 数据持久化
// import storage from ‘redux-persist/lib/storage’ // localstorage
import sessionStorage from ‘redux-persist/lib/storage/session’ // session
import autoMergeLevel2 from ‘redux-persist/lib/stateReconciler/autoMergeLevel2’

// 我要对哪些 state 做数据持久化
const rootPersistConfig = {
key: ‘root’,
storage: sessionStorage,
stateReconciler: autoMergeLevel2,
whitelist: [‘home’], // 白名单
}

const composeEnhancers = window.REDUX_DEVTOOLS_EXTENSION_COMPOSE || compose

const store = createStore(
persistReducer(rootPersistConfig, combineReducers(reduces)),
composeEnhancers(applyMiddleware(promise, thunk))
)

export default store

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
```javascript // 导入React和ReactDOM模块 import React from 'react'; import ReactDOM from 'react-dom'; // 导入React Router模块中的BrowserRouter组件,用于实现路由功能 import { BrowserRouter as Router } from 'react-router-dom'; // 导入React Redux模块中的Provider组件,用于提供全局的store import { Provider } from 'react-redux'; // 导入自定义的store模块,用于管理应用的状态 import store from './store'; // 导入自定义的App组件,作为应用的根组件 import App from './App'; // 使用ReactDOM.render方法将根组件渲染到页面的根节点上 ReactDOM.render( // 使用Provider组件包裹根组件,将store作为props传递给Provider,使得整个应用都可以访问到store中的状态 <Provider store={store}> {/* 使用Router组件包裹根组件,实现路由功能 */} <Router> {/* 渲染根组件 */} <App /> </Router> </Provider>, // 指定根节点的id为root,将根组件渲染到该节点上 document.getElementById('root') ); ``` 该代码文件的作用是将根组件渲染到页面的根节点上,并且提供了全局的store和路由功能。具体注释如下: - 导入React和ReactDOM模块:用于使用React和ReactDOM相关的功能。 - 导入BrowserRouter:从React Router模块中导入BrowserRouter组件,用于实现浏览器路由功能。 - 导入Provider:从React Redux模块中导入Provider组件,用于提供全局的store。 - 导入store:从自定义的store文件中导入store对象,用于管理应用的状态。 - 导入App:从自定义的App文件中导入App组件,作为应用的根组件。 - 使用ReactDOM.render方法将根组件渲染到页面的根节点上。 - 使用Provider组件包裹根组件,将store作为props传递给Provider,使得整个应用都可以访问到store中的状态。 - 使用Router组件包裹根组件,实现路由功能。 - 渲染根组件。 涉及到的知识点有: - React:用于构建用户界面的 JavaScript 库。 - ReactDOM:用于在浏览器中渲染 React 元素。 - BrowserRouter:React Router 提供的一种路由模式,使用 HTML5 的 history API (pushState, replaceState 和 popstate 事件) 来保持 UI 和 URL 的同步。 - Provider:React Redux 提供的一个组件,用于将 store 暴露给应用中的其他组件。 - store:使用 Redux 创建的存储应用状态的对象。 - App:自定义的根组件,作为应用的入口点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值