Новичок во Flutter, пожалуйста, простите меня, если это очевидно, но я прочитал документацию и попробовал несколько вариантов Navigator, но ни один из них не работает так, как мне бы хотелось. Задача: у нас есть сложная (ну, полусложная) серия экранов и т. Д., Которые обрабатывают процесс входа / авторизации / регистрации. Это может опуститься до 3 или 4 уровней в стеке маршрутов. Это все хорошо - не беспокойтесь.
Проблема возникает, когда мы получаем успешное событие входа в систему (с нескольких разных путей) и хотим перейти на «домашнюю» страницу. Как только мы попадаем на домашнюю страницу, это должен быть новый «корень» дерева маршрутов (я уверен, что это неправильная терминология - но я думаю, что идея солидна).
Таким образом, учитывая, что мы можем быть на 1/2/3 или даже на 4 уровня ниже и хотим «вытолкнуть» и заменить весь стек (с любыми событиями перехода, пожалуйста) на новый корень верхнего уровня - какой магический набор Навигатора или методы будут делать это чисто?
Мой текущий (ужасный) подход состоит в том, чтобы передать «pop ()» уровни и выполнить вызов Navigator.pushReplacementNamed () (все они здесь называются маршрутами), но это не универсальное решение (нужно точно знать, как много уровней) и, что еще хуже, он вызывает переход «анимации» на экран «pop» на доли секунды для каждой функции pop (), что выглядит ... не очень хорошо.
ТИА!