zoukankan      html  css  js  c++  java
  • React 数据持久化

    1.   安装 npm i redux-persist

    2.  引入

    import { persistStore } from 'redux-persist'
    import { PersistGate } from 'redux-persist/lib/integration/react'
     
    3.
    ReactDOM.render(
      <Provider store={store}>
      <PersistGate loading={null} persistor={persistStore(store)}>
        <Router />
        </PersistGate>
      </Provider>,
      document.getElementById('root')
    )
     
    4. store.js 文件
      
    import { persistReducer } from 'redux-persist' 
    import storage from 'redux-persist/lib/storage' 

    import autoMergeLevel2 from 'redux-persist/lib/stateReconciler/autoMergeLevel2'
     
     
    // 我要对哪些 reduce 的 state 做数据持久化
    const rootPersistConfig = {
      key: 'root',
      storage,
      stateReconciler: autoMergeLevel2,
      // 白名单 [reducer 目录内的 reduce 文件名]
      whitelist: ['list'],  
    }
     
     

    const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose

    // 抽离出一个需要持久化的公共 reduce
    const myPersistReducer = persistReducer(
      rootPersistConfig,
      combineReducers({
        lx,
        form,
        list,
      }
    ))

    // createStore(reduce, 中间件)
    const store = createStore(
      myPersistReducer,
      composeEnhancers(applyMiddleware(thunk, promise))
    )

    export { store }
  • 相关阅读:
    Linux下修改Mysql的用户(root)的密码
    Mysql 用户权限管理
    mysql的四种启动方式
    MySQL慢日志的相关参数
    mysqlsla slow-query常用用法

    导包和模块注意的问题
    Python面向对象之魔法方法/双下方法
    __new__问题
    转:Python常见字符编码及其之间的转换
  • 原文地址:https://www.cnblogs.com/LC123456/p/12806929.html
Copyright © 2011-2022 走看看