Выбор ответа Middle Навигация обновлено
go_router: go против push
Вопрос
Чем context.go('/item/42') отличается от context.push('/item/42') в go_router?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: go строит стек по иерархии маршрутов, push кладёт экран поверх. go декларативно переходит на адрес: стек определяется конфигурацией вложенных маршрутов (например, Home, а над ним Item), текущая история заменяется. push императивно добавляет страницу поверх того, что уже есть, и pop вернёт на исходный…
Варианты ответа
goоткрывает экран модально поверх всего, аpushделает обычный переход- Разницы нет: это синонимы,
goоставлен для краткости записи pushработает только в вебе, а на мобильных платформах доступен толькоgogoстроит стек по иерархии маршрутов,pushкладёт экран поверхправильный ответ
Разбор
go декларативно переходит на адрес: стек определяется конфигурацией вложенных маршрутов (например, Home, а над ним Item), текущая история заменяется. push императивно добавляет страницу поверх того, что уже есть, и pop вернёт на исходный экран. Модальность задаётся типом страницы, а не методом. Оба работают на всех платформах.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.