0

我正在制作一个使用 redux 和 redux-persist 的反应原生应用程序。

实际行为:当用户登录并关闭 apen 并在一段时间后重新打开时,他应该直接进入登录视图。但是在我的应用程序中,首先出现注销页面,在商店重新水化后,它会自动重定向到登录视图

App.js如下

 // all other import statements
 const { store } = configureStore({});

 class App extends Component {
   constructor() {
    super();
    this.state = {
    isReady: false,
  };
}

render() {
 const { isLoggedIn } = store.getState().auth;
 const Layout = CreateRootNavigator(isLoggedIn);

  return (
    <Provider store={store}>
      <AlertProvider>
        <Root>
          <Layout />
       </Root>
      </AlertProvider>
    </Provider>
  );
 }
}

我的 createStore.js 如下使用 redux-persist v5

function configureStore(initialState) {
  let store = createStore(
       persistedReducer,
       initialState,
      compose(applyMiddleware(...middlewares))
    );

  let persistor = persistStore(store);
  // send this persistor also

  return { store };
}

我面临的问题是,当我登录并关闭应用程序然后重新打开时,会弹出注销的屏幕,并在商店重新水化后自动重定向到登录布局。在商店重新水化后,我可能想要一个标志或其他东西,以便在商店重新水化后我可以实际渲染实际的东西。请帮助...在此先感谢

4

1 回答 1

3

文档中明确提到了您应该使用它PersistGate来延迟 UI 组件的呈现。

如果您正在使用 react,请使用 PersistGate 包装您的根组件。这会延迟应用 UI 的呈现,直到您的持久状态被检索并保存到 redux。注意PersistGate加载道具可以为空,或任何反应实例,例如loading={<Loading />}

于 2018-03-06T09:52:24.370 回答