【问题标题】:How to call setState in flutter [duplicate]如何在颤动中调用setState [重复]
【发布时间】:2021-07-28 11:32:02
【问题描述】:

使用下面的代码示例调用setState方法有什么本质区别吗?

1.在 setState 中设置状态变量

setState((){
  _stateVariable1 = 'value1';
  _stateVariable2 = 'value2';
});

2。在 setState 之外设置状态变量

_stateVariable1 = 'value1';
_stateVariable2 = 'value2';
setState((){});

【问题讨论】:

    标签: flutter state setstate


    【解决方案1】:

    我认为除了;之外没有太大区别

    数字 1 是官方认可的显示您想要执行状态更改的方式。 第二个是我们新手喜欢这样做的方式:)

    在此处继续阅读,

    https://api.flutter.dev/flutter/widgets/State/setState.html

    调用 setState 会通知框架此对象的内部状态已发生更改,可能会影响此子树中的用户界面,这会导致框架为此 State 对象安排构建。

    意思是是否在里面都没有关系。一切都用你新设置的变量重建。

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

    setState() 似乎无法处理未来的事件,它们需要等待并完成,然后才能将它们应用于 setstate。

    https://flutter.dev/docs/perf/rendering/best-practices

    当对状态调用 setState() 时,所有后代小部件都会重建。 因此,将 setState() 调用本地化到子树的一部分 其 UI 实际上需要更改。避免在高处调用 setState() 如果更改包含在树的一小部分,则树。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-27
      • 2020-08-05
      • 2018-11-04
      • 2020-03-19
      • 2021-01-30
      • 2020-09-22
      • 1970-01-01
      • 2020-12-13
      相关资源
      最近更新 更多