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

Я новичок во Flutter. Я хочу спросить, есть ли правильный способ перемещаться между экранами через ящик? Потому что есть проблема со стеком навигации.

|: -------: |
| ------- |
| ------- |
| ------- |
| screen1 |

например, если на экране 1 есть кнопка навигации, и он переходит на экран 1, и это будет так

| ------- |
| ------- |
| screen1 |
| screen1 |
| screen1 |

мне нужно что-то вроде замены и сделать мой стек навигации как первую таблицу

Итак, я попробовал pushName и таким образом https://medium.com/flutter-community/flutter-vi-navigation-drawer-flutter-1-0-3a05e09b0db9, но это дало мне еще одну проблему: «Не удалось найти генератор для маршрута. RouteSettings"

2 ответа

Подробнее о навигации читайте в статье.

https://medium.com/flutter-community/flutter-push-pop-push-1bb718b13c31

Используйте pushReplacementNamed вместо pushNamed

      drawerButton(
              labelText: "Новости",
              onTap: () => Navigator. pushNamed(context, Routes.newsPage),             
            ),

становится

      drawerButton(
              labelText: "Новости",
              onTap: () => Navigator. pushReplacementNamed(context, Routes.newsPage),
            ),

Попробуйте просто использовать Navigator.of(context).pushReplacement(context, MaterialPageRoute(builder:(BuildContext context) => YourScreen()));. Он должен работать, и он заменяет текущий экран.

Другие вопросы по тегам