扑朔迷离的国家可以自我称呼吗?

时间:2020-08-20 11:14:50

标签: flutter dart

我有一个带状态的窗口小部件,该窗口小部件会随着按钮按下事件而更新,是否可以从按钮按下事件的相同状态内部调用该状态?各州有很多。所以我想避免初始化太多状态。

1 个答案:

答案 0 :(得分:0)

是的,您可以在StatefulWidget中调用setState((){})。根据文档:

通知框架该对象的内部状态已更改。

这意味着,如果您想更新StatefulWidget上的任何值,请确保在setState((){})内部调用它,就像这样:setState(() { _myState = newValue; });

据我了解,您不希望对setState((){})函数进行太多调用。由于您使用的是按钮,因此可以这样操作:

FlatButton(
  child: Text("Tap me!"),
  onPressed: () => setState((){ tapped = true}),
 ),

箭头是代替大括号的合成糖。只有一行代码时很有用。