【问题标题】:Can a state in flutter call itself?Flutter 中的状态可以调用自身吗?
【发布时间】:2020-12-09 17:13:48
【问题描述】:

我有一个有状态的小部件,它通过按钮按下事件进行更新,是否可以在按钮按下事件的同一状态内调用状态?州的数量很多。所以我想避免初始化太多的状态。

【问题讨论】:

  • 您能详细说明一下吗?或者只是分享你想要做的代码示例?
  • 有状态小部件的定义提供了强大的状态管理。但这也取决于你想如何利用它
  • 代码没有准备好。 Functionality 是一个 statefulWidget,里面有函数。其中一个函数有助于 UI 的变化。使用按钮需要调用相同的状态,因此该函数实现了新的 UI。我说得通吗?
  • 是的,但是州的数量很多。所以我想避免初始化太多状态@beerstorm

标签: flutter dart


【解决方案1】:

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

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

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

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

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

箭头是替代大括号的语法糖。当只有一行代码时很有用。

【讨论】:

    猜你喜欢
    • 2011-06-26
    • 2017-01-13
    • 1970-01-01
    • 2010-11-15
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 2020-03-12
    • 2010-10-03
    相关资源
    最近更新 更多