Flutter: горячая перезагрузка и маршруты

Я заметил, что когда я расширяю MaterialPageRoutes, а затем копирую их так:

class Route extends MaterialPageRoute {
  Route(): super(
    builder: (context) {
      return SomeWidget();
    }
  );
}
...somewhere in the build method of another class...
Navigator.push(context, Route())

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

...somewhere in the build method of another class...
Navigator.push(context, MaterialPageRoute(
  builder: (context) {
    return SomeWidget();
  }
))

or

class Route extends MaterialPageRoute {
  Route(): super(
    builder: (context) {
      return RouteWidget();
    }
  );
}
class RouteWidget extends StatelessWidget {
  Widget build(BuildContext context) {
    return SomeWidget();
  }
}
...somewhere in the build method of another class...
Navigator.push(context, Route())

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


person footurist    schedule 31.10.2018    source источник
comment
См. stackoverflow.com/questions/51312843/   -  person Rémi Rousselet    schedule 31.10.2018
comment
Спасибо за ссылку. Это учитывается для каждого объекта или только для первого переданного в runApp()? Потому что если последнее, то это не причина для меня.   -  person footurist    schedule 31.10.2018
comment
Он учитывает все, что не возвращено build. Итак, маршруты, оверлеи,...   -  person Rémi Rousselet    schedule 31.10.2018
comment
Хорошо, спасибо! Не забудьте опубликовать свои комментарии в качестве ответа, чтобы я мог отметить это, если вам это небезразлично.   -  person footurist    schedule 31.10.2018