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

问题描述 投票:2回答:1

我正在尝试使用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.

码:

routes:<String,WidgetBuilder>{
        "/":(_)=>new RouteHome(title: 'Flutter Demo Home Page'),
        ...
class RouteHome extends StatefulWidget {
  RouteHome({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

查询:

  • 为什么不允许StatefulWidget?

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

dart flutter
1个回答
3
投票

热重新加载仅用于最小的UI更改。

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

© www.soinside.com 2019 - 2024. All rights reserved.