选择不依赖于状态的正确颤振块小部件

Posted

技术标签:

【中文标题】选择不依赖于状态的正确颤振块小部件【英文标题】:choosing the correct flutter bloc widget that doesn't depend on states 【发布时间】:2021-01-13 23:18:15 【问题描述】:

如果我想在 bloc 类中添加一个项目并根据该列表的项目自动更新 UI 而不使用状态(在添加新项目时不产生状态),则使用哪个颤振 bloc 小部件名单)?换句话说,如何从provider包中获得与notifyListeners()函数相同的功能?

【问题讨论】:

flutter_bloc 的重点是管理状态。如果你想要和 providers 一样的包,为什么不使用呢? 不,我不是指整个状态,而是在每次将项目添加到列表时都不会产生状态。因此,在单个应用程序中维护两个状态管理包会很困难。 那么,只用一个?我真的没有看到问题。为什么不每次添加东西时都产生一个新状态?它可以是相同的类、相同的状态,只是带有新数据(例如更新的列表)。 是的,这样做没有问题,但我想知道是否还有其他工作可以在不使用任何状态类的情况下完成相同的工作。 【参考方案1】:

flutter_bloc 包包括轻量级的 Cubit<> 类,这基本上就是您想要的:一个没有额外状态的块。

您可以在official documentation 中为flutter_bloc 阅读所有有关肘部的信息。

【讨论】:

以上是关于选择不依赖于状态的正确颤振块小部件的主要内容,如果未能解决你的问题,请参考以下文章

无状态颤振小部件中的非最终字段

VTK Iso Slider 不工作或不显示滑块小部件

我的有状态小部件不会更新 ui,即使我正在调用 setState 并将正确的值传递给小部件类

颤振有状态的小部件在热重载和 pushNamed 之后丢失数据

带有刻度文本标签的 Qt 滑块小部件

在颤振中从父小部件调用 setState 不会更新状态