一尘不染

Flutter-更改内部或外部setState的变量?

flutter

在Flutter Widget中更改状态时,这样做之间有什么区别

_variable1 = true;
variable2 = 'abc';
setState(() => {});

或这个

setState(() => {
    _variable1 = true;
    variable2 = 'abc';
});

文档中几乎所有示例都使用最后一个,但我没有发现任何实际差异。在这两种情况下都设置了变量并更新了状态,但是我想知道是否存在一种情况,如果使用一种或另一种方法,则无法按预期工作。


阅读 542

收藏
2020-08-13

共1个答案

一尘不染

根据flutter的文档,声明:

通常,建议仅将setState方法用于包装对状态的实际更改,而不是将可能与更改相关联的任何计算。

我主要认为这是出于可读性目的,即,您需要将setState新构建的窗口小部件中的更改内容放入主体,而不必像问题中的第一个方法那样将其与您的计算混合。

2020-08-13