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();
  }
))

или

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())

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

См. stackoverflow.com/questions/51312843/…

Rémi Rousselet 31.10.2018 14:02

Спасибо за ссылку. Учитывается ли это для каждого объекта или только для первого объекта runApp ()? Потому что, если последнее так, то это не для меня.

footurist 31.10.2018 14:41

Он считает все, что нет возвращается build. Итак, маршруты, накладки, ...

Rémi Rousselet 31.10.2018 15:18

Хорошо спасибо! Не забудьте разместить свои комментарии в качестве ответа, чтобы я мог отметить это, если вам это небезразлично.

footurist 31.10.2018 17:46
4
4
1 295
0

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