Есть ли правильный способ перемещаться по ящику?
Я новичок во 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()));
. Он должен работать, и он заменяет текущий экран.