【发布时间】:2021-06-06 12:10:48
【问题描述】:
我有这样的代码来自互联网,我的不工作:
class _StartingAnimationState extends State<StartingAnimation>{
@override
void initState() {
Future.delayed(Duration(seconds: 4),(){
Navigator.push(context, MaterialPageRoute(builder: (context) {
return mainWindow();
}));
});
super.initState();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: SizedBox(height: 300,width: 300, child: Lottie.asset("assets/lottie/login.json")),
);
}
}
我收到错误:
[ERROR:flutter/lib/ui/ui_dart_state.cc(177)] 未处理的异常:使用不包含导航器的上下文请求导航器操作。
和
用于从 Navigator 推送或弹出路由的上下文必须是作为 Navigator 小部件后代的小部件的上下文。
我希望我的程序显示动画一段时间,然后导航到其他屏幕
【问题讨论】:
-
initState 在构建上下文之前被调用,因此 Navigator.of(context) 将不起作用。试试 didChangeDependencies。
-
谢谢,我在第二个之前看到了,我改了