выбор сцены на основе проп - PullRequest
       17

выбор сцены на основе проп

0 голосов
/ 13 сентября 2018

Мы используем mobx вместе с react-native-router-flux.Я хочу загрузить другой маршрут на основе значения из магазина mobx.Я пытаюсь понять, как это сделать.Итак, я получил это из своего магазина

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

Я передаю роль в качестве опоры <PrivateRouter role={role} />.Я хочу выбрать <Scene> на основе значения role.Все это происходит в файле App.js.Любые идеи о том, как я это сделаю?Я новичок как в MOBX, так и в RNRF, так что я не знаю, как этого добиться.Правильно ли я думаю об этом сценарии использования?

1 Ответ

0 голосов
/ 14 сентября 2018

Я наконец-то решил это.Так что вот решение, если кто-то сталкивается с той же проблемой.

Проблема заключалась в том, что profile не отображается, пока пользователь не аутентифицируется.Так что приложение не может его найти.Решение заключается в следующем:

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

Надеюсь, это поможет справиться с будущими проблемами.

...