在无状态类中制作有状态小部件

时间:2021-07-29 13:14:32

标签: flutter dart statefulwidget

是否可以使文本小部件有状态,以便在我按下按钮时可以更改文本,而不会使我的类处于有状态? 例子:

data() {
    return {
      customGroupNames: { "category": "Cat", "dairy": "Dairy" },
      headers: [...],
      dessserts: [...]
    }
}

Test 和 Test2 是字符串。

因此,当我按下按钮时,文本小部件内的值应该会改变。有没有办法在不将我的类更改为有状态的情况下实现这一目标?或者,如果不能,有人可以解释我如何将类更改为有状态,而不会弄乱我的其余代码

1 个答案:

答案 0 :(得分:0)

不,你不能,无状态小部件是一个不可变的小部件,不能对状态变化做出反应和重新渲染,你必须使用某种形式的状态管理。

如果您的按钮、文本和数据都在同一个小部件中,那么最好使您的小部件有状态并使用 setState(() {}) 更改文本和重新呈现。

您可以使用 Flutter 插件将您的小部件从 Stateless 小部件转换为 StatefulWidget,该插件会处理所有事情。