问题
- 关于路由跳转页面遇到一个跳转失败的问题,log日志报“Navigator operation requested with a context that does not include a Navigator.”代码以下:
解决方案

探究BuildContext
- 上下文对象是整个APP Widget树结构中的Widget话柄,每一个Wideget对应的都有属于本身的BuildContext。BuildContext还提供了一组方法,这些方法可以在StatelessWidget.build 函数中被当前的上下文环境调用。好比 Navigator.pushNamed(context, '/');
- 当部件Widget在StatelessWidget.build函数被返回时,这个部件会成为父部件。因此这意味着StatelessWidget.build方法中的context和函数内部部件Widegt的context不是同一个上下文。因此它们两个不一样上下文可以调用的方法是有区别的。这就是这个问题关键的所在。
回顾问题


结尾
若有错误的地方欢迎指出,交流进步。
参考文献:https://docs.flutter.io/flutt...html