问题标签 [flutter-state]
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.
flutter - 如何用不同的参数重绘整个小部件树?
我在按下的方法上有一个按钮,可以执行一些异步任务。在此任务结束时,我需要使用新的更新参数重新绘制整个小部件。这是我的小部件类。
这是onPressed
这个类的状态。该按钮位于抽屉中。
这是我正在执行的异步任务。
我收到Duplicate GlobalKey detected in widget tree.
错误。但是,这些变化反映了我想要的。
也来自不同的小部件。
这会引发各种错误。UI 未呈现,因为它取决于结果,结果作为 null 传递。这是signInMethod。
我不认为 Navigator.pushReplacement 是一种更好的做事方式。我也知道这些异步任务需要时间。UIMain()
在使用新参数重新绘制之前,我如何确定我得到了一个非空结果。我应该采用什么其他方法来重绘而不是 this Navigator.pushReplacement()
。
flutter - setState() 或 markNeedsBuild 在构建期间调用,同时设置 Provider 值
我知道这是因为 Provider.of.setuser = futureData.data; 因为它在构建函数正在进行时再次调用构建函数。我有任何替代方法可以在 Provider 中设置值,但在使用构建器的情况下不专门构建它。
flutter - 找不到正确的提供者在此 ServerList 小部件上方
我不明白为什么我的 FutureProvider 不能,而我的 ChangeNotifierProvider 工作得很好。
无论我做什么,它都会给我同样的错误,即使我删除我的 ChangeNotifierProvider 并将其替换为 FutureProvider 或用 FutureProvider 或用户 MultiProvider 包装我的 MaterialApp 小部件,它也会给我同样的错误。
这是错误
flutter - Stateful Widget 上的提供程序 - 参数类型问题
我有一个 RedditAPIService 类,我在其中放置了与 Reddit 的 DRAW 插件相关的所有项目方法。
我在无状态小部件中为类创建了一个对象。(在 _RedditAuthState 类下面扩展了 State 部分)
RedditAPIService reddit = RedditAPIService();
我需要这个 reddit 对象在下游的多个小部件上可用,所以我想使用 Provider 来公开该对象:
我目前收到错误:
“错误:参数类型'Null Function(BuildContext)'不能分配给参数类型'Widget Function(BuildContext,Widget)'。”
我究竟做错了什么?
flutter - 为什么 NotifyParser 的任何更改都不会使用 Provider / ChangeNotifier / Streambuilder 在 UI 中呈现,而是来自服务类
根据示例代码,来自 Ble_Service 的任何数据都可以通过提供程序在 UI 中呈现更改。但是,如果我通过 changeParserInput() 将任何数据从 Ble_Service 传递给 NotifyParser,json 字符串就会结束,但无论我遵循哪种模式,我都无法让 UI 识别任何状态已更改并更新超出初始种子的 UI价值。
Ble_Service -> UI //没问题 Ble_Service -> NotifyParserBloc -> UI //数据不成功。
为什么?(注释掉的代码来自尝试过的许多不同的变体)
ble_service
通知解析器
flutter - Flutter - 动态变化的文本无状态或有状态?
假设我有一个动态变化的文本小部件(即文本根据条件、按钮点击等而变化)。那么现在文本是无状态的还是有状态的?
根据定义“无状态小部件永远不会改变。图标、图标按钮和文本是无状态小部件的示例。无状态小部件是 StatelessWidget 的子类。”
文本是无状态小部件,但文本的内容正在发生变化,为什么它不是有状态的?
flutter - StatelessWidget 可以包含成员变量吗?
我有一个StatelessWidget
使用 aScopedModel
来存储其数据的。该小部件基本上显示了一个复选框列表和一些按钮来保存复选框的状态。
现在我想跟踪用户是否更改了任何复选框,即自显示小部件以来选中/取消选中它们。所以我添加了这样的内容:
这似乎有效,但我StatelessWidget
现在包含自己的状态。
该状态不用于更新 UI 和重绘任何内容,它仅用于检查按下“关闭”按钮时是否对任何复选框进行了修改。
aStatelessWidget
拥有这种内部状态是否安全?或者这可能是一个问题?例如,小部件是否会意外重新创建,并且内部状态会丢失?
我没有发现文档对此非常清楚,它只是说
对于可以动态更改的组合,例如由于具有内部时钟驱动状态或取决于某些系统状态,请考虑使用 StatefulWidget。
但这听起来似乎只适用于影响 UI 并需要重建小部件的状态。
flutter - 针对特定用例在不同页面上保持相同状态
我知道在颤振中存在一些关于状态管理的问题,但似乎没有一个能解决我的用例。
最近我在构建一个基于电子商务的应用程序,并遇到了对状态管理的真正需求。我有2页,
- 一个是产品页面,我在其中将产品添加到购物车。
- 第二个是购物车页面,我看到最近添加到购物车的产品。
用户可以将产品添加到购物车,然后导航到购物车。在购物车页面中,他们还可以增加或减少商品的数量。
如您所见,最初黄色商品以数量 3 添加到购物车中,但在购物车页面中,用户按下 (-) 按钮并将数量减少为 1。现在如果用户按下后退按钮,则状态为黄色产品在产品页面上仍将是 3。与粉红色产品类似的情况。
因此,我尝试使用普通的 setState 和一些全局数据结构来解决这个问题,以跟踪数量。但是随着我的应用程序变大,跨页面维护状态真的很困难。我已经阅读了不同的状态管理解决方案,如 redux、BloC 模式、Provider ......但我不清楚如何在我的用例中使用它们中的任何一个。任何有经验的人,可以分解岩石并帮助我消化吗?
任何有关如何解决此问题的示例代码和解释将不胜感激!
希望我的问题很清楚!
json - 如何将通过方法接收的值存储在另一个变量实例中?
如何将通过方法接收的值存储在另一个变量实例中?
我想将传递给 Statefulwidget 的值存储在我无法执行的实例中。这就是我将值传递给 Statefulwidget 方法的方式。
但无法将数据存储在 StatefulWidget 中的实例中,请查看评论以查看哪些工作正常哪些不工作
我应该如何将它保存在颤动的实例中?
flutter - 屏幕上有小部件吗?
我想监控用户与我的应用程序的哪些部分互动最多。因此,我计划创建一个自定义小部件,记录并记录它在屏幕上的停留时间,以及它被按下的次数。
我的问题是,有没有办法检查某个小部件当前是否在给定时刻显示在屏幕上。例如,页面可能包含一列卡片小部件,我想知道屏幕上有哪些卡片,以了解用户与它交互的时间。
我可能过于复杂了,如果你知道有一个包旨在跟踪用户与应用程序的交互,请也分享一下!