flutter popUntil вызывает initState с трех последних маршрутов - PullRequest
0 голосов
/ 13 января 2020

У меня есть вопрос, конвертирующий метод трепетания "popUntil". Навигатор: В моем маршруте "addFirst" я вызываю

        Navigator.push(
        context,
        new PageRouteBuilder(
            maintainState: false,
            settings: RouteSettings(name: "addSecond"),
            pageBuilder: (BuildContext context, _, __) {
              return Addsecond();
            }));

, чтобы перейти к маршруту "addSecond". Оттуда, нажимая другую кнопку, я снова использую

Navigator.push(
        context,
        new PageRouteBuilder(
            maintainState: false,
            pageBuilder: (BuildContext context, _, __) {
              return Addcontext();
            }));

, чтобы добраться до другого маршрута "addContext", где я нажимаю другую кнопку и использую

Navigator.push(context,
    new PageRouteBuilder(pageBuilder: (BuildContext context, _, __) {
  return ConfirmFaver();
}));

, чтобы добраться до моего последнего маршрута "ConfirmFaver ». Оттуда я бы хотел вернуться обратно, пока не достигну моего первого маршрута addFirst, поэтому я вызываю:

Navigator.popUntil(context, ModalRoute.withName("addFirst"));

Ожидаемое поведение: вызывается только метод initState из этого маршрута addFirst. Фактическое поведение: не только показывают журналы, которые вызывается метод initState из "addFirst", но впоследствии также вызывается initState из "addSecond" и "addContext".

Кто-нибудь знает, почему это происходит? :)

...