то лучшая практика, чтобы реализовать сценарий:
Есть 3 компонента навигации:
1 - экран входа
2 - экран регистрации
3 - Дровер - он же онсновное меню с компонентами экранов внутри
Я хочу чтобы когда пользователь авторизован - ему открывался тиолько дровер, если нет - то экраны входа/регистрации
чтобы это были 2 независимых друг от друга стека
Как лучше всего это реализовать?
обычный authentication flow, в доке react-navigation он описан
спасибо, сейчас посмотрю
а если я хочу в редаксе хранить состояние авторизации, то как мне быть в компоненте App? в нем же недоступно состояние, так как мы оборачиваев провайдером состояния - возвращаемые компоненты App
как мне получать всегда состояние авторизации в комоненте app? не подскажете?
🤔 сделать еще один компонент внутри app и там уже разместить контейнер навигации?
а так делают? я просто тоже так подумал - но решил спросить - вдруг это плохая пракитка
такой же компонент, разницы никакой. а вот насчет редакса не уверен, что стоит так делать. если у вас jwt и токен в asyncstorage (что на самом деле далеко не лучшая идея) или keychain (так безопаснее) - вам не нужно держать в redux состояние авторизации.
я просто использую для авторзации firebase.firestore - он хранит в себе текущего пользователя - и чтобы не нагромаждать еще и токенами - решил сделать так - если в firestore.currentUser = кто то есть - значит авторизован
и информацию об этом хранить в редаксе
это тоже вариант. но опять же - редакс в данном случае добавляет сложности, как мне кажется. проверить firebase, записать в redux, проверить prop пришедший из redux...
у меня просто редакс уже итак используется для хранения данных, подумал что впринципе раз уже есть - можно еще добавить там 1 поле состояния. Спасибо за советы! очень помогли
Обсуждают сегодня