代码之家  ›  专栏  ›  技术社区  ›  footurist

颤振:热装载和路线

  •  0
  • footurist  · 技术社区  · 7 年前

    我注意到当我扩展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())
    

    我觉得特别奇怪的是,最后的解决办法奏效了。知道我错过了什么吗?文档显示热重新加载将重建所有小部件。

    0 回复  |  直到 7 年前