为什么StatefulWidget的路由创建失败?

Vil*_*abs 6 dart flutter

我正在尝试使用StatefulWidget创建路由。

错误:

I/flutter (23141): ??? EXCEPTION CAUGHT BY WIDGETS LIBRARY ????????????????????????????????????????????????????????????
I/flutter (23141): The following assertion was thrown building
I/flutter (23141): _OverlayEntry-[LabeledGlobalKey<_OverlayEntryState>#3e9ee](dirty, state: _OverlayEntryState#7b90c):
I/flutter (23141): The builder for route "/" returned null.
I/flutter (23141): Route builders must never return null.
Run Code Online (Sandbox Code Playgroud)

码:

routes:<String,WidgetBuilder>{
        "/":(_)=>new RouteHome(title: 'Flutter Demo Home Page'),
        ...
Run Code Online (Sandbox Code Playgroud)
I/flutter (23141): ??? EXCEPTION CAUGHT BY WIDGETS LIBRARY ????????????????????????????????????????????????????????????
I/flutter (23141): The following assertion was thrown building
I/flutter (23141): _OverlayEntry-[LabeledGlobalKey<_OverlayEntryState>#3e9ee](dirty, state: _OverlayEntryState#7b90c):
I/flutter (23141): The builder for route "/" returned null.
I/flutter (23141): Route builders must never return null.
Run Code Online (Sandbox Code Playgroud)

查询:

  • 为什么不允许StatefulWidget?

问题: 如果更改了窗口小部件的基类(StatefulWidget <-> StatelessWidget),则路由的热重装失败。

Vil*_*abs 9

热重装仅用于最小的UI更改。

礼貌: “这不是问题,使用热重载可以在UI中进行最小的更改。通常,在创建新类时需要完全重新启动。” – @aziza