Восстановить маршрут с помощью Flutter Navigation - PullRequest
0 голосов
/ 07 мая 2020

Есть ли способ проложить sh уже активный маршрут?

Navigator.push(context, onceUsedRoute);

У меня есть навигация для трех разных маршрутов, и мне очень понравилось сохранять состояние каждого маршрута и соответствующего виджета при переключении между их.

По разным причинам я зависим от Flutter Navigator для навигации, поэтому замена виджетов в дереве визуализации на самом деле не вариант.

Класс Navigator не предоставляет никакого способа вернуться к предыдущему маршруту, не открывая все последующие маршруты. Нет даже возможности прочитать маршруты, которые хранит навигатор прямо в своем _history -поле.

Я сам пробовал сохранять разные маршруты, но даже тогда утверждение

assert(newRoute._navigator == null)

запрещает повторное продвижение маршрута независимо от того, используется ли он тем же навигатором. И, конечно же, невозможно сбросить атрибут _navigator в маршрутах.

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

Как это может быть так сложно? Я упустил что-то важное?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...