问题标签 [statefulwidget]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6589 浏览

flutter - Flutter StatefulWidget 不更新数据

我正在尝试将地图传递给有状态的小部件,并且地图会不时更新。在我的父小部件中,我在更改数据时调用 setState(),在子小部件中,我可以看到数据,但是如果我尝试使用数据,它还没有更新。任何想法为什么会这样,以及如何解决它?

0 投票
2 回答
3671 浏览

api - Flutter FutureBuilder 返回空数据

我是 Flutter 和 Dart 的新手,我正在尝试编写一个应用程序来测试它。我有一个 api,我正在获取应用程序的数据,并试图使用 StatefulWidget 和 FutureBuilder。

当我运行调用 api 的方法时,我得到了结果(使用 print() 来测试它),但是当我从 loadData 方法获取数据时,它检索 null。

所以 loadData 打印数据,initState 和 FutureBuilder 数据返回 null。我在这里想念什么。

我已经添加了用于请求的服务和模型......希望它有所帮助。

0 投票
1 回答
1642 浏览

flutter - Flutter:避免在导航到下一条路线时调用上一条路线的 build() 方法

我的颤振应用程序显示初始屏幕 ( statefulWidget) 作为第一条路线。这条路线正在显示一个动画,同时在后台调用 API 来获取一些数据。

接收到数据并且动画完成后,它会导航到第二条路线。

一切正常,除了调用Navigator导航到第二条路线时,会显示第二条路线,但我可以再次看到 API 对第一条路线的响应,即被调用。

原来,在构建第二条路由时,也调用了前一条路由的 build 方法,再次进行了不必要的 API 调用。

如何避免这种行为?,我相信这一定是一个错误Flutter??

当前流程(非期望):SplashRoute(build) ---> Navigator ---> HomeRoute(build)+SplashRoute(build)

所需流程:SplashRoute(build) ---> Navigator ---> HomeRoute(build)

0 投票
1 回答
1301 浏览

flutter - 使用 BlocBuilder 的 StatefulWidget 不会在状态更改时重建

我正在使用 Flutter(BloC 模式)构建一个流式传输多个摄像头馈送的小部件。当点击一个提要时,它会显示在主提要中(想想谷歌视频群聊,说话的人的脸显示在前面和中间,而其他人的脸在侧面较小)。

当尝试切换选定的提要时,状态 ( int) 会产生Bloc's的预期新值MapEventToState;但是,主CamFeed小部件不会切换提要。

StatefulWidget我对返回 a的这种用法的理解BlocBuilder<CamSwitcherBloc, int> 应该在该 int 更改时重建。相反,似乎什么都没有发生。build()仅在它第一次创建时被调用,并且当其中一个孩子的状态CamFeed正在更新时。

我已经通过天文台确认,正如预期的那样,只有一个CamSwitcherBloc.

所以- 我认为是错误的:

当我的 Bloc 中的 MapEventToState 产生一个新值(selectedCam,在下面的构建器中输入)时,build()应该为我的小部件调用。

如果这是正确的,任何关于在哪里继续我的狩猎的建议将不胜感激。

谢谢!

0 投票
1 回答
204 浏览

flutter - 有状态与无状态的区别如何影响小部件何时重建?

我试图了解状态和提升状态在 Flutter 中是如何工作的。在下面的代码中,我制作了一个简单的应用程序,我尝试通过多个级别传递或提升字符串和函数。

当应用程序启动时,状态类中的字符串data在构建时_MyAppState传递给MainAppStatelessWidget 。MainApp以类似的方式,然后将信息传递给Level2StatelessWidget 和Level3StatefulWidget。

TextFieldinLevel3改变时,setTextField被触发。setTextField在中定义MyApp,我认为当 Stringdata更改(内部setState())时,它应该触发重建受更改影响的所有小部件。

MainApp小部件(appBar)中的文本发生了变化,显示MainApp已按预期重建。但是Level3小部件没有任何反应;它没有重建。方法中的 print 语句createState()不执行,Text 小部件的文本不改变。

为什么Level3StatefulWidget 不重建?

0 投票
1 回答
336 浏览

android - Flutter:重定向后循环调用StatefulWidget

在我的小部件中,女巫是一个StatefulWidget,我的逻辑检查一个令牌,在错误的情况下,我导航到我的主页。

我正在等待使用此方法完成构建小部件:

但问题是即使我不再关注这个小部件,他仍然会在后台运行并在循环中进行重定向。

在我的逻辑中,如果我的 accessToken 过期,我会使用 setState一次。之后小部件重建,我检查新令牌发送我的服务器,如果他是空的,我将我的用户重定向到主页。我认为问题来自于 setState。

那么,有没有办法在离开后杀死或处置这个小部件?或者也许是另一种导航方式?

0 投票
2 回答
1309 浏览

flutter - Flutter 中的 setState() 方法直到 for 循环中的最后一次调用才更新视图

问题

我正在尝试使用 Flutter 构建排序可视化工具。我用 aCustomPainter绘制了与我打算排序的整数列表的值相对应的垂直线。应用程序设置为,当用户从DropDownButton (我打算稍后添加更多排序算法)中单击“冒泡排序”选项时,CustomPainter画布中的垂直线必须自行排序。

代码

然而,最终发生的是arr在画布上仅显示最终排序,并且由于某种原因跳过了所有中间步骤。但是日志显示列表正在更新。

截图

随机列表的初始屏幕 单击下拉按钮中的冒泡排序 排序列表

添加该sleep()功能只是为了模拟动画,一旦解决此问题,我打算用适当的动画替换它。另外,我知道该应用程序有点丑陋,但我想在任何 UI 抛光之前获得逻辑。

0 投票
3 回答
3720 浏览

flutter - 当我使用映射函数时,类型“(动态)=>动态”不是“测试”类型“(动态)=>布尔”的子类型

我有一个带有 LinkedHashMap 成员的 StatefulWidget 小部件,如下所示:

现在我需要过滤List<dynamic>地图项目中的项目。

我使用此代码进行过滤:

但我得到了这个主题的错误

类型“(动态)=>动态”不是“测试”类型“(动态)=>布尔”的子类型

0 投票
3 回答
4996 浏览

flutter - 在 Flutter 中从树中临时移除时保留小部件状态

我正在尝试保留小部件的状态,因此如果我暂时从小部件树中删除有状态小部件,然后稍后重新添加它,小部件将具有与我删除它之前相同的状态。这是我的一个简化示例:

理想情况下,我不希望状态重置,因此计数器不会重置为 0,我将如何保留计数器小部件的状态?

0 投票
2 回答
2128 浏览

flutter - 如何在颤振中重用有状态的小部件

我有一个以下状态完整的小部件。我需要通过更改两个变量idcollectionName. 通常我会提取一个小部件,但在这种情况下,我正在修改变量 firstName,它不会让我提取小部件。

谢谢