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 }
  • 相关阅读:
    使用Microsoft Roslyn提取C#和VB.NET源代码中的字符串常量
    CPU 硬盘性能
    用户权限管理软件开源
    调用远程服务的几种实现方式
    字段索引和数据加密
    Slithice 分布式架构设计
    Visual Studio 2013 发布正式版
    Vim
    NetCat,在网络工具中有“瑞士军刀”美誉
    如何映射聚合
  • 原文地址:https://www.cnblogs.com/LC123456/p/12806929.html
Copyright © 2011-2022 走看看