Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振web:在浏览器中使用参数重新加载页面时崩溃_Flutter_Flutter Web - Fatal编程技术网

Flutter 颤振web:在浏览器中使用参数重新加载页面时崩溃

Flutter 颤振web:在浏览器中使用参数重新加载页面时崩溃,flutter,flutter-web,Flutter,Flutter Web,亲爱的弗利特社区 我有主屏幕和详细屏幕的应用程序。详细信息屏幕有路由参数。 然而,在测试期间,我打开详细信息页面,然后按“重新加载”,应用程序崩溃 错误是:“生成期间调用了setState()或markNeedsBuild()” 是否有通用/标准解决方案或逻辑来实现它? 业务案例示例:用户打开会话查看某些资料,几分钟后重新加载屏幕以查看资料更新 警察局。很抱歉,我不再处理项目,因此无法生成任何详细信息。这里的错误是,您在生成过程中使用了setState之类的方法。Set state是一种只能在回

亲爱的弗利特社区

我有主屏幕和详细屏幕的应用程序。详细信息屏幕有路由参数。 然而,在测试期间,我打开详细信息页面,然后按“重新加载”,应用程序崩溃

错误是:“生成期间调用了setState()或markNeedsBuild()”

是否有通用/标准解决方案或逻辑来实现它? 业务案例示例:用户打开会话查看某些资料,几分钟后重新加载屏幕以查看资料更新


警察局。很抱歉,我不再处理项目,因此无法生成任何详细信息。这里的错误是,您在生成过程中使用了setState之类的方法。Set state是一种只能在回调中使用的方法。因此,您在错误的位置调用此方法

  • 如果需要根据本地某个位置的值初始化小部件的状态,请使用方法initState()

  • 如果您需要从远程检索数据,我建议您使用FutureBuilderStreamBuilder

  • 如果“强制”在生成方法中使用setState,请使用WidgetsBinding.instance.addPostFrameCallback(如果需要,请传递上下文):

  • 小部件构建(构建上下文){
    WidgetsBinding.instance
    .addPostFrameCallback(())=>setState((){/*code here*/}));
    返回容器(/*容器只是一个小部件示例,请使用您的小部件*/);
    }
    
    最后,始终将stacktrace放在您的问题中,因为当您在颤振中出现错误时,stacktrace通常非常精确,它可以理解问题的提出位置


    如果您需要一个例子,您可以在这里找到一个类似的问题:

    您是否将主机设置为仅单页?嗨,Andrea,您知道Flitter是关于什么的吗?现在根本没有主机。我使用两个视图创建了应用程序,类似于此处所述:。然而,由于web版本是最新的,并且几乎处于测试阶段,我认为没有明确的迹象表明,当您不是从主页启动应用程序时会发生什么。其他框架在这里有挂钩,它允许您导航回主页或恢复状态。在这里它只是崩溃是的,当然,但由于你的问题是有点模糊,我需要了解什么是潜在的问题。在第一次编辑中,您没有指定错误内容。现在更清楚了。嗨,安德里亚,对不起,我不会在代码中的任何地方给自己打电话。我只有一个StatefulWidget->页面,它通过Navigator.pushNamed接收参数。然后在一个小部件“build”中读取参数:someArguments=ModalRoute.of(context.settings.arguments);请添加您错误的stacktrace,至少我们可以正确导航问题