@HAbRAhabp

Авторизация в react native router?

Я пока не очень понимаю, как пользоваться и зачем нужен Redux, где что хранить, поэтому не пинайте. У меня есть простое приложение на react-native с авторизацией. У сервера есть 2 урла - /auth, /clientData. При запросе на /auth передается логин-пароль, если авторизация успешная, возвращается токен, который подставляется в заголовки. /clientData возвращает данные о пользователе. На клиенте я сохраняю токен в AsyncStorage.

Как мне при запуске приложения перебросить пользователя в ЛК, если он авторизован или на страницу авторизации, если нет? Или стоит сделать это, непосредственно в компоненте Login, а потом перебросить его в компонент Cabinet? В идеале хочу сделать поддержку socket.io, чтобы обновлять данные пользователя на клиентской части real-time. Как получить его данные, чтобы в последствии использовать их в других компонентах без повторной загрузки? Я искал open-source похожие приложения, но не нашел. Буду благодарен за ссылки на подобные.
  • Вопрос задан
  • 2110 просмотров
Пригласить эксперта
Ответы на вопрос 1
nDiviD
@nDiviD
Делать проекты, которыми можно гордиться
И так, в 1ю очередь задача в том, что бы при загрузке приложения определить, сохранены ли данные для входа/выполнен ли вход.
Можно использовать AsyncStorage, а можно Redux с redux-persist (по сути это тоже локальное сохранение, вот только с Redux работать удобнее.)
Ну а теперь при запуске приложения обращаемся к стору, при наличии данных для входа открываем кабинет, либо стучимся к /auth если необходимо подтвердить данные.
Можно открывать кабинет, показывать лоадер, если данные неверные переходить на страницу авторизации.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы