Flutter:在状态转换之间将状态保存在小部件中

时间:2020-02-25 08:33:18

标签: flutter bloc flutter-bloc

我正在使用flutter_bloc在我的应用程序中实现bloc。

我有一个执行多个转换的屏幕。因此,将多个事件分派给页面上的不同操作,并且返回的每个状态都代表该特定事件的返回状态。

如何在这些转换之间保持小部件中的状态?

例如,屏幕上有3个按钮。每次单击按钮都会调度一个事件,状态将返回一条文本。因此,在单击button1之后,状态将返回带有文本的State对象,并且该按钮将替换为该文本。现在,当用户单击button2时,它将返回另一段文本并替换button2。但是,发生这种情况时,button1的文本消失了。

我有一个StatefulWidget,其状态看起来像这样-

List<String> allTexts = List();

但由于调用setState会引发此错误,因此无法更新此状态-

setState() or markNeedsBuild() called during build.

我该如何解决这个问题?

先谢谢了。

1 个答案:

答案 0 :(得分:0)

您始终可以发出带有所有State的文本的buttons。因此,当您单击button 2时,您将收到button 2以及为text 1和3保存的所有button的文本