1

scoped_model用于管理应用程序状态。

我有AuthModel身份验证状态。screen当用户登录时,我更改AuthModel

  Widget screen = LoadScreen();

  if (loggedIn == true) {
    screen = HomeScreen;
  } else if (loggedIn == false) {
    screen = LoginScreen;
  }

但是当我调用RootPageWidget 时出现错误:

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导航?

谢谢!

4

0 回答 0