如何在完成商店补液后更新App.js中的状态?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在完成商店补液后更新App.js中的状态?相关的知识,希望对你有一定的参考价值。

我有一个非常标准的样板。基本上我实现了Redux-persist并渲染加载屏幕,直到商店被重新水化。

Store.js

const store = Reactotron.createStore(
  reducers,
  undefined,
  compose(
    applyMiddleware(ReduxThunk),
    offline({
      ...offlineConfig,
      persistCallback: () => Reactotron.log('HEY LOADED') //<<====How to update rehydrated state in App.js
    })
  )
);

App.js

import store from './Store';

export default class App extends Component {
  state = { rehydrated: false };

  ...

  render() {
    if (!this.state.rehydrated) return <Loading />

    return (
      <Provider store={store}>
        <MainNavigator />
      </Provider>
    )
  }

根据上面的设置,我可以看到成功补充商店后的日志记录。但我想知道它如何更新App.js的状态?

答案

您可以实现PersistGate以显示加载屏幕,直到检索到持久状态。正如第二部分所述,https://github.com/rt2zz/redux-persist#basic-usage

以上是关于如何在完成商店补液后更新App.js中的状态?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React 中更新 chart.js 的状态

当 vuex 商店的值发生变化时,如何更新组件中的状态?

Flux:处理模态窗口

在 React 中访问父组件中的子状态值

setState() 是不是可用于更新 Alt.js 商店中的状态?

在使用 redux-observables 开始另一个史诗之前,如何等待不同的史诗完成并更新商店?