Есть ли способ проложить sh уже активный маршрут?
Navigator.push(context, onceUsedRoute);
У меня есть навигация для трех разных маршрутов, и мне очень понравилось сохранять состояние каждого маршрута и соответствующего виджета при переключении между их.
По разным причинам я зависим от Flutter Navigator для навигации, поэтому замена виджетов в дереве визуализации на самом деле не вариант.
Класс Navigator не предоставляет никакого способа вернуться к предыдущему маршруту, не открывая все последующие маршруты. Нет даже возможности прочитать маршруты, которые хранит навигатор прямо в своем _history
-поле.
Я сам пробовал сохранять разные маршруты, но даже тогда утверждение
assert(newRoute._navigator == null)
запрещает повторное продвижение маршрута независимо от того, используется ли он тем же навигатором. И, конечно же, невозможно сбросить атрибут _navigator
в маршрутах.
Я знаю, что Navigator сохраняет все старые маршруты, включая их состояние, потому что вы можете легко получить к ним доступ, открыв стек маршрутов.
Как это может быть так сложно? Я упустил что-то важное?