根据道具选择场景

问题描述 投票:0回答:1

我们正在使用mobxreact-native-router-flux。我想基于mobx商店的值加载不同的路线。我正在努力了解如何做到这一点。所以我从我的商店买到这个

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

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

react-native mobx react-native-router-flux
1个回答
0
投票

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

问题是profile在用户通过身份验证之前不会暴露。所以应用程序找不到它。解决方案如下:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.