Flutter Redux - управление навигацией к экрану в промежуточном программном обеспечении

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

Если я хочу перенаправить на другой экран при определенных ответах (например, перейти на домашний экран, когда действие входа в систему успешно) - рекомендуется ли обрабатывать это в промежуточном программном обеспечении или есть другие подходы с наилучшей практикой?

2 ответа

Раньше я использовал избыточность в Интернете, и рекомендуется обрабатывать навигацию в промежуточном программном обеспечении, вы можете позвонить Navigator.of(context).pushNamed("youRoute") в вашем промежуточном программном обеспечении или вы можете использовать NavigationMiddleware.

Обычно, dispatch может запустить любое действие, в том числе пользовательский синтаксис, { api: } или же { location: }, Но для того, чтобы излишек понимал это, кроме { type: }, это может быть лучше обработано redux промежуточное программное обеспечение. Например, https://github.com/reactjs/react-router-redux

Так что мы можем сделать dispatch(push('/foo')) где угодно, в том числе внутри любого громового действия или любого действия.

Я думаю, что порядок промежуточного программного обеспечения может иметь значение, так что об этом следует помнить. Поскольку промежуточные программы связаны друг с другом по цепочке, если вы хотите, чтобы thunk реагировал первым, возможно, промежуточное ПО маршрутизатора необходимо подключить позже.

Другие вопросы по тегам