Выбор ответа Junior Навигация спрашивают часто обновлено
Flutter: переход после входа
Вопрос
После успешного входа нужно открыть главный экран так, чтобы кнопка «назад» не возвращала на экран входа. Что использовать?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: pushReplacement или pushAndRemoveUntil(route, (r) = false). pushReplacement заменяет верхний маршрут, pushAndRemoveUntil с предикатом false очищает весь стек.
Варианты ответа
pushглавного экрана, а затемsetState, чтобы экран входа исчез из стекаpushReplacementилиpushAndRemoveUntil(route, (r) => false)правильный ответpopUntilдо экрана входа, а затемpushглавного экрана поверх негоmaybePopпередpush: он закроет экран входа, только если тот уже не нужен
Разбор
pushReplacement заменяет верхний маршрут, pushAndRemoveUntil с предикатом false очищает весь стек. В обоих случаях экрана входа в стеке не остаётся. Обычный push оставит его под главным. popUntil наоборот возвращает назад. С go_router то же самое делает context.go('/home') или редирект.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.