【发布时间】:2022-01-09 15:39:42
【问题描述】:
if (_username == _password) {
Navigator.of(ctx).pushReplacement(
MaterialPageRoute(
builder: (ctx1) => const HomeScreen()
),
);
在编写此导航器代码时没有问题,但是当我运行它时,它显示错误,如断言失败!_debug locked is not true。
错误:断言失败: ..\...\widgets\navigator.dart:3029
!navigator._debugLocked 不是真的
对我来说不仅有一个错误,还有两个错误,第二个错误是这样的
错误:在构建期间调用了 setState() 或 markNeedsBuild()。
这个 Overlay 小部件不能被标记为需要构建,因为框架已经在构建小部件的过程中。仅当其祖先之一当前正在构建时,小部件才能在构建阶段标记为需要构建。这个例外是允许的,因为框架在子组件之前构建父小部件,这意味着将始终构建脏后代。否则,框架可能不会在此构建阶段访问此小部件。
【问题讨论】:
-
您能否在放置此
if语句之前添加更多sn-p? -
好的,我会添加它
标签: flutter dart visual-studio-code