我scoped_model
用于管理应用程序状态。
我有AuthModel
身份验证状态。screen
当用户登录时,我更改AuthModel
:
Widget screen = LoadScreen();
if (loggedIn == true) {
screen = HomeScreen;
} else if (loggedIn == false) {
screen = LoginScreen;
}
但是当我调用RootPage
Widget 时出现错误:
Navigator.of(context).pushReplacementNamed(‘/${model.screen}’);
'Package:flutter/src/widgets/navigator.dart': 断言失败: line 2106 pos 12: '!_debugLocked': is not true'</p>
RootPage
是 Flutter 应用程序的第一页,用于显示加载屏幕,直到用户登录或未登录身份验证返回:
class RootPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ScopedModelDescendant<AuthModel>(builder: (context, child, model) {
Navigator.of(context).pushReplacementNamed(‘/${model.screen}’);
});
}
}
为什么我会收到此错误?
如果用户登录或退出,如何使用scoped_model
导航?
谢谢!