Возвращение к первой странице в стеке во Flutter - PullRequest
0 голосов
/ 11 июля 2020

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

Я нашел два способа сделать это, и оба они, похоже, работают, но с тех пор Я новичок во Flutter. Мне было интересно, какой из этих методов лучше всего: -

Navigator.of(context).popUntil((route) => route.isFirst);

Navigator.pushNamedAndRemoveUntil(context, '/', (_) => false);

Ответы [ 2 ]

0 голосов
/ 11 июля 2020

Ответ: pushAndRemoveUntil. Если вы не хотите использовать named route в своем приложении flutter, существует такой метод. Прочтите об этом здесь

Итак, теперь, что вы можете сделать:

// It accepts Route object, so we can use Material Page Route 
// We name your first page as HomePage, so don't get Confused
Navigator.pushAndRemoveUntil(context, 
   MaterialPageRoute(builder: (context) => HomePage()), 
   (_) => false
);

Прочтите о классе MaterialPageRoute и добавьте его в свой bucket, потому что это очень полезная вещь, если вы еще не знаете о ней.

И да, Добро пожаловать во Flutter, это отличная платформа . Надеюсь, это ответ на ваш вопрос. Удачного обучения :)

0 голосов
/ 11 июля 2020

Вы можете использовать их оба.

Но, по моему мнению (когда я читал документацию), чтобы использовать метод pushNamedAndRemoveUntil, вам нужно назвать свои маршруты.

С другой стороны, если вы не используете именованные маршруты, вы можете использовать метод popUntil. Потому что он не использует именованные маршруты и намного проще.

...