我正在尝试从第一个屏幕导航到另一个屏幕,所以基本上,我正在检查用户是否已登录,并根据该情况导航或不导航到下一个屏幕,但我收到以下错误尝试时的上下文
这是我的代码
Future _AuthenticateUser(BuildContext context){
FirebaseAuth.instance
.authStateChanges()
.listen((event) {
if(event == null){
// User is null
} else {
// here I navigate to the next screen
Navigator.push(context,
MaterialPageRoute(builder: (context) => new MainScreen()));
}
});
}
Run Code Online (Sandbox Code Playgroud)
我首先调用代码来检查用户登录状态
@override
void didChangeDependencies() {
_AuthenticateUser(context);
super.didChangeDependencies();
}
Run Code Online (Sandbox Code Playgroud)
这是我收到的错误
The context used to push or pop routes from the Navigator must be that of a widget that is a descendant of a Navigator widget.
Run Code Online (Sandbox Code Playgroud)
小智 0
首先让我们知道为什么会出现这个错误。
static Future<T> push<T extends Object>(BuildContext context, Route<T> route) {
return Navigator.of(context).push(route);
}
Run Code Online (Sandbox Code Playgroud)
上面的推送功能“推送”在上下文中搜索导航器并将您的屏幕推到上面,所以我可以得出的结论是您需要检查父母是否有导航器......
归档时间: |
|
查看次数: |
1737 次 |
最近记录: |