2

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

我有一个可以进行多次转换的屏幕。因此,在页面上的不同操作上调度了多个事件,并且返回的每个状态都代表了该特定事件的返回状态。

如何在这些转换之间维护我的小部件中的状态?

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

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

List<String> allTexts = List();

但是更新此状态不起作用,因为调用 setState 会引发此错误-

setState() or markNeedsBuild() called during build.

我该如何解决这个问题?

提前致谢。

4

1 回答 1

0

您始终可以State为所有buttons. 因此,当您单击2 时,您会收到2 + all the saved for 1 和 3button的文本buttontextbutton

于 2020-02-25T21:02:08.523 回答