#redux #flutter #flutter-redux
#сокращение #flutter #flutter-redux
Вопрос:
В моем приложении Flutter Redux у меня есть промежуточное программное обеспечение аутентификации, которое обрабатывает вызовы аутентификации пользователя во внешнюю службу аутентификации.
Если я хочу перенаправить на другой экран при определенных ответах (например, перейти на главный экран после успешного входа в систему) — рекомендуется ли обрабатывать это в промежуточном программном обеспечении или существуют другие оптимальные подходы?
Ответ №1:
Раньше я использовал redux в Интернете, и рекомендуется обрабатывать навигацию в промежуточном программном обеспечении, вы можете вызвать Navigator.of(context).pushNamed("youRoute")
в своем промежуточном программном обеспечении или вы можете использовать NavigationMiddleware.
Комментарии:
1. Мне удалось использовать этот подход, но мне не нравится способ перехода страниц.
Ответ №2:
Обычно dispatch
может запускать любое действие, которое включает пользовательский синтаксис, { api: }
или { location: }
. Но для того, чтобы redux понимал это иначе, чем { type: }
, это могло бы быть лучше обработано redux
промежуточным программным обеспечением. Например, https://github.com/reactjs/react-router-redux
Таким образом, мы можем выполнять dispatch(push('/foo'))
где угодно, в том числе внутри любого действия thunk или любого другого действия.
Я думаю, что порядок промежуточных программ может иметь значение, так что это то, о чем следует помнить. Поскольку промежуточные программы подключаются одна за другой, если вы хотите, чтобы модуль реагировал первым, возможно, промежуточное программное обеспечение маршрутизатора потребуется подключить позже.