【问题标题】:choosing scene based on prop根据道具选择场景
【发布时间】:2018-09-13 01:50:02
【问题描述】:

我们使用mobxreact-native-router-flux。我想根据来自mobx 商店的值加载不同的路由。我试图了解如何做到这一点。所以我从我的商店有这个

const { authenticated, profile: { role } } = stores.authStore;

我将角色作为道具传递给<PrivateRouter role={role} />。我想根据role 的值选择一个<Scene>。所有这些都发生在App.js 文件中。关于我将如何做到这一点的任何想法?我是 mobx 和 RNRF 的新手,所以我不清楚如何实现这一点。我是否正确地考虑了这个用例?

【问题讨论】:

    标签: react-native mobx react-native-router-flux


    【解决方案1】:

    我终于解决了。所以如果有人遇到同样的问题,这里是解决方案。

    问题在于 profile 在用户通过身份验证之前不会公开。所以应用程序找不到它。解决方法如下:

    const render =
          authenticated === undefined ? (
            <LoadingScreen />
          ) : authenticated === true ? (
            stores.authStore.profile.role === 'USER' ? (
              <home />
            ) : (
              <TrainerHome />
            )
          ) : (
            <PublicRouter />
          );
        return (
          <Root>
            <Provider {...stores}>{render}</Provider>
          </Root>
        );
    

    希望这能为未来的问题提供帮助。

    【讨论】:

      猜你喜欢
      • 2023-01-30
      • 1970-01-01
      • 2011-06-07
      • 1970-01-01
      • 2012-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      相关资源
      最近更新 更多