Удалить из середины стека навигатора

#flutter

#трепетание

Вопрос:

Можно ли удалить маршрут из середины стека навигатора?

 RouteA -> RouteB -> RouteC -> RouteD -> RouteE 
 

Чтобы удалить RouteE , мы вызываем .pop , можно ли удалить RouteC , не удаляя RouteD и RouteE ?

Я просто хочу удалить RouteC из стека навигации, мы не удаляем другие маршруты, если пользователь дважды нажал кнопку «Назад», RouteE тогда мы выскочим RouteD , и теперь мы RouteB не в RouteC

Комментарии:

1. такого способа нет, если вам нужно использовать pop — однако его можно пропустить, используя другие pop* методы

2. Можете ли вы объяснить больше? Мне не нужно использовать pop

3. в качестве альтернативы используйте MaterialApp.router и новые Navigator функции версии v2, дополнительные: medium.com/flutter /…

4. или даже лучше, вместо использования WillPopScope использовать пользовательский MaterialPageRoute и переопределяющий Future<RoutePopDisposition> willPop() async { метод

5. действительно: пользовательский MaterialPageRoute намного проще: я реализовал MyMaterialPageRoute.willPop метод в простых 5 строках кода, и он работает просто отлично