在react-native中等待寄存器组件之前的异步

时间:2017-01-19 19:47:29

标签: react-native

我需要等待异步存储然后启动应用程序,因为我在此处存储身份验证令牌,并且如果他被授权,则希望为用户显示正确的场景:

(async () => {
  const viewer = JSON.parse(await AsyncStorage.getItem('viewer'));

  // ... 

  const RootContainer = () => (
    // ...
  );

  AppRegistry.registerComponent('yawaloo', () => RootContainer);
})();

我已从0.34.1移至react-native 0.40.0,现在出现错误“Module AppRegistry不是已注册的可调用对象”。

在以前的版本中,一切都很好。我如何等待某些操作然后开始渲染RootContainer?

1 个答案:

答案 0 :(得分:2)

一个想法是使用启动画面。更具体地说,使用RootContainer中的状态来确定是显示启动画面还是主UI。最初将状态设置为false(show splash)然后在从异步存储中读取令牌之后,将状态设置为true。

应用程序具有启动屏幕的部分原因是为了处理这样的情况。 HTH