Size: a a a

Flutter Developers — русскоговорящее сообщество

2020 September 22

DC

Denis Chuvasov in Flutter Developers — русскоговорящее сообщество
🅵🅾️🆇
Если у вас экран аутентификации в навигаторе со скажем, экраном пользователя - это очевидная ошибка.
Почему ошибка? А как в вашем случае обрабатывать кейс, к примеру у пользователя на каком-то экране протух токен, мы ему показываем экран авторизации и если он вводит норм логин/пароль, то он продолжает пользоваться приложением с того места где поймал ошибку 401.
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Denis Chuvasov
Почему ошибка? А как в вашем случае обрабатывать кейс, к примеру у пользователя на каком-то экране протух токен, мы ему показываем экран авторизации и если он вводит норм логин/пароль, то он продолжает пользоваться приложением с того места где поймал ошибку 401.
Давайте я вопросом на вопрос.
У вас рест клиент? Пользуете Dio?
источник

DC

Denis Chuvasov in Flutter Developers — русскоговорящее сообщество
🅵🅾️🆇
Давайте я вопросом на вопрос.
У вас рест клиент? Пользуете Dio?
а нас qraphql, но я понимаю, что речь про interceptor'ы.
источник

DC

Denis Chuvasov in Flutter Developers — русскоговорящее сообщество
только получается что у вас GlobalContext->tratata->LoginScreen если пользователь не авторизован, а если он авторизован, то получается GlobalContext->tratata->MainScreen
источник

DC

Denis Chuvasov in Flutter Developers — русскоговорящее сообщество
ну я так понимаю
источник

DC

Denis Chuvasov in Flutter Developers — русскоговорящее сообщество
и если ошибка на GlobalContext->tratata->MainScreen->UserScreen, то что происходит? получается все дерево виджетов должно сброситься обратно в GlobalContext->tratata->LoginScreen
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Denis Chuvasov
а нас qraphql, но я понимаю, что речь про interceptor'ы.
У нас тоже гкл.
Да, именно про мидлвари.
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Связать стрим стейтов юзера из него (по примеру как это сделано в фаербейзе, например) со стримбилдером виджета аутентификациии - просто сказка получается
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Я может косноязычно это все объясняю, просто устал уже)
источник

DC

Denis Chuvasov in Flutter Developers — русскоговорящее сообщество
🅵🅾️🆇
Связать стрим стейтов юзера из него (по примеру как это сделано в фаербейзе, например) со стримбилдером виджета аутентификациии - просто сказка получается
Т.е. я правильно понял, что если у вас надо показать экран авторизации, то все дерево виджетов схлопывается обратно до GlobalContext->tratata->LoginScreen? А потом уже если хотим вернуть пользователя обратно, то надо самим восстанавливать цепочку виджетов из стейтов?
источник

DC

Denis Chuvasov in Flutter Developers — русскоговорящее сообщество
Не совсем понятно тогда как должен работать другой кейс, когда у нас приложением можно пользоваться без авторизации, но к примеру по нажатию на "добавить в избранное" мы хотим показать пользователю экран авторизации, а он там может просто нажать back и вернуться в приложение.
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Denis Chuvasov
Не совсем понятно тогда как должен работать другой кейс, когда у нас приложением можно пользоваться без авторизации, но к примеру по нажатию на "добавить в избранное" мы хотим показать пользователю экран авторизации, а он там может просто нажать back и вернуться в приложение.
Все точно также.
У меня вообще нет никакого шаманства или какихто хитростей, ограничений
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Просто по контексту и передаете User.empty()
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Все)
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Это по настоящему Ъ вэй.
источник

DC

Denis Chuvasov in Flutter Developers — русскоговорящее сообщество
Если мы убьем все дерево виджетов, то даже при сохранении стейта, по нажатию назад, будет выглядеть не очень ибо ничего снизу нету
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Тут нет какихт сложностей и ограничений
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Denis Chuvasov
Если мы убьем все дерево виджетов, то даже при сохранении стейта, по нажатию назад, будет выглядеть не очень ибо ничего снизу нету
Так залогинившись под другим пользователем это будет ахренительной ошибкой, если останется что то неубитое
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Это одна из причин, почему не стоит пихать аус скрин в навигатор
источник

🅵

🅵🅾️🆇 in Flutter Developers — русскоговорящее сообщество
Все ваше приложение должно обладать контекстом пользователя
источник