因为setState()方法作用于有状态的组件,如果作用对象本身无状态,那么setState()将无法起作用。其中setState()函数是State类的一个方法。在需要更新状态的地方,可以通过调用setState(() { … })来包裹代码块。在代码块内部,可以进行对状态的修改操作。
所及将无状态的组件的外部套一个StatefulBuilder组件即可
StatefulWidget 中的 State 是指管理和维护与该StatefulWidget相关的状态信息的对象。每个StatefulWidget都有一个与之相关联的State对象,State对象包含了控件的状态信息,例如文本字段的内容、选中的标志、动画的状态等等。当State中的状态发生变化时,可以通过调用setState方法通知Flutter框架,以便重新构建UI来反映这些状态的变化。
代码示例
参考文章