gpt4 book ai didi

Flutter initstate 导航器不工作

转载 作者:IT王子 更新时间:2023-10-29 06:51:39 24 4
gpt4 key购买 nike

我正在使用 initState 并遇到 Navigator 问题:

I/flutter ( 5726): The following assertion was thrown building Builder: I/flutter ( 5726): setState() or markNeedsBuild() called during build.

我的代码:

@override
void initState() {

super.initState();
print(globals.isLoggedIn);
if(globals.isLoggedIn) {

print("Already login");

Navigator.push(context, MaterialPageRoute(builder: (context)=> Dashboard()));

}

最佳答案

在我们要求导航的构建 Widget 本身时,我们遇到了错误。

对此有一个解决方法

Future(() {
Navigator.push(context, MaterialPageRoute(builder: (context)=> Dashboard()));
});

解释:

由于 Dart 基于单线程事件循环,当我们创建一个异步任务时,它会将那些事件放在事件队列的末尾并继续它的当前执行。请引用下面的示例以获取更多详细信息,

void main() {
print("first");
Future(() => print("second"));
print("third");
Future(() => print("forth"));
}

输出将是

first
third
second
forth

关于Flutter initstate 导航器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51965326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com