react - 19. redux-persist 的使用

栏目: 服务器 · 发布时间: 7年前

内容简介:参考:react native 中几乎绝大部分操作都是异步的,包括 读取本地存储。

参考: https://github.com/rt2zz/redux-persist 和 

https://github.com/rt2zz/redux-persist/blob/master/docs/PersistGate.md

react native 中几乎绝大部分操作都是异步的,包括 读取本地存储。

而现实页面则是同步的,而且貌似没有特别容易的办法 让页面跟 读取后的数据同步(自动刷新)

redux-persis 项目就是为了这个目的而生的。

示范代码已经上传: https://github.com/sg552/demo_redux_with_async_storage.git

1. 安装

$ npm install redux-persist --save

并根据文档: http://siwei.me/blog/posts/react-15-redux 建立一个空白的redux项目。

2. 修改store.js  (注意名字和路径跟官方文档略有不同)

import {createStore, combineReducers } from 'redux'
import countReducer from './reducers'

// persist store
import {persistStore, persistReducer } from 'redux-persist'
import storage from 'redux-persist/lib/storage'

const rootReducer = combineReducers({
  countReducer: countReducer
})

const myReducer = persistReducer({
  key: 'root',
  storage
}, rootReducer)

export default () => {
  let store = createStore(myReducer)
  let persistor = persistStore(store)
  return { store , persistor}
}

3. 修改index.js

/** @format */

import {AppRegistry} from 'react-native';
import App from './App';
import {name as appName} from './app.json';

// 以下为 为调用Redux 而新增的代码
// 这句话虽然没有被显示调用,但是不加会报错, 在 const myProvider那里。
import React from 'react'
import { Provider } from 'react-redux'
import configureStore from './store'

// 导入redux-persist
import {PersistGate} from 'redux-persist/integration/react'

const {store, persistor}  = configureStore()

const onBeforeLift = () => {

}

const myProvider = () => {
  return (
    <Provider store = {store}>
      <PersistGate loading={null} persistor={persistor}
        onBeforeLift={onBeforeLift}
      >
        <App />
      </PersistGate>
    </Provider>
  )
}

AppRegistry.registerComponent(appName, () => myProvider);

4. 其他代码同 普通的 redux 项目(见DEMO ,或者 )


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

浪潮之巅(第三版)(上下册)

浪潮之巅(第三版)(上下册)

吴军 / 人民邮电出版社 / 2016-5 / 99.00元

一个企业的发展与崛起,绝非只是空有领导强人即可达成。任何的决策、同期的商业环境,都在都影响着企业的兴衰。《浪潮之巅》不只是一本历史书,除了讲述科技顶尖企业的发展规律,对于华尔街如何左右科技公司,以及金融风暴对科技产业的冲击,也多有着墨。此外,这本书也着力讲述很多尚在普及 或将要发生的,比如微博和云计算,以及对下一代互联网科技产业浪潮的判断和预测。因为在极度商业化的今天,科技的进步和商机是分不开的。......一起来看看 《浪潮之巅(第三版)(上下册)》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具

html转js在线工具
html转js在线工具

html转js在线工具