首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >脱机状态未使用redux恢复消重数据-脱机

脱机状态未使用redux恢复消重数据-脱机
EN

Stack Overflow用户
提问于 2017-10-24 01:33:30
回答 1查看 758关注 0票数 0

为了在我的应用程序中处理离线交互,我使用redux-offline。当应用程序重新启动时,我的redux商店中的脱机状态不是持久的。

例如,我的应用程序处于离线状态,用户以调用要分派的操作的方式与应用程序交互。Redux-offline将操作转移到处于redux存储的离线状态的发件箱阵列,该阵列应在应用程序恢复在线时重试该操作。如果我这样做,并让一个操作在脱机状态下排队,然后重新启动应用程序(在仍然脱机的情况下),redux存储将保留除脱机状态之外的所有内容,因此我将丢失已排队的项目。

我的商店配置代码如下。我写它的方式是,在redux存储恢复状态之前,会显示一个启动屏幕。

代码语言:javascript
复制
import React, { Component } from "react"
import { AsyncStorage } from "react-native"
import { Provider } from "react-redux"
import { applyMiddleware, compose, createStore } from "redux"
import thunk from "redux-thunk"
import { autoRehydrate, persistStore } from "redux-persist"
import logger from "redux-logger"
import { offline } from "redux-offline"
import offlineConfig from "redux-offline/lib/defaults"
import reducers from "./redux/modules"
import MyApp from "./MyApp"
import SplashScreen from "./components/home/SplashScreen"

const store = createStore(
  reducers,
  undefined,
  compose(applyMiddleware(thunk, logger), offline(offlineConfig))
)

export default class Setup extends Component {
  constructor(props) {
    super(props)
    this.state = {
      rehydrated: false
    }
  }

  componentWillMount() {
    persistStore(store, { storage: AsyncStorage }, () => {
      this.setState({ rehydrated: true })
    })
  }

  render = () =>
    !this.state.rehydrated ? (
      <SplashScreen />
    ) : (
      <Provider store={store}>
        <MyApp />
      </Provider>
    )
}
EN

回答 1

Stack Overflow用户

发布于 2018-01-10 23:56:38

检查redux工具-可能离线存储是恢复状态,但它立即被事件更改,设置它的状态,更新到最新的redux-脱机应该可以修复它

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46895278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档