React Native Router Flux Redirect Scene на примере входа в систему

Я ищу пример использования React Native Router Flux для перенаправления пользователя на новую сцену после проверки подлинности. Предполагая, что я определил свой компонент маршрутизатора следующим образом:

<Router> <Scene key="root"> <Scene key="login" component={Login} title="Login" initial={true} hideNavBar="true" duration={1} /> <Scene key="home" component={Home} title="Home" hideNavBar="true" duration={1} /> </Scene> </Router>

  • Что нужно обновить в <Router> для перенаправления с Login на Home?
  • Если мой Router компонент вложен в Drawer компонент, где / как мне обновить состояние, чтобы указать, что мой пользователь вошел в систему?

person Steed-Asprey    schedule 07.09.2016    source источник
comment
Вы случайно не используете redux для управления состоянием своего приложения?   -  person Steven    schedule 08.09.2016
comment
Нет я не. Это имеет значение?   -  person Steed-Asprey    schedule 08.09.2016
comment
Да, если вы это сделали, вы можете просто вызвать Actions ['home'] ();   -  person Steven    schedule 08.09.2016


Ответы (2)


вы должны использовать Actions.home () в компоненте входа в систему сразу после завершения аутентификации. Компонент маршрутизатора менять не нужно.

а для второго вопроса у вас не может быть глобальных состояний (если вы действительно не хотите усложнять простое приложение). чтобы использовать один, вы должны использовать Redux или аналогичные библиотеки.

person Fatemeh Majd    schedule 10.09.2016

Самый простой способ перенаправления - использовать Actions.home () после завершения аутентификации. Поскольку вы не используете redux для управления состоянием вашего приложения. Все усложняется.

Я считаю, что вы ищете решение, чтобы узнать, вошел ли пользователь в систему или нет в будущих случаях. Я считаю, что лучше всего использовать asyncstorage. Просто сохраните для переменной is_loggedin значение true. В будущем вы можете проверить эту переменную, чтобы определить, вошел ли пользователь в систему.

Но я очень рекомендую использовать Redux / Reflux. будет намного лучше.

person Shiva Pandey    schedule 13.06.2017