gpt4 book ai didi

flutter - 状态与类变量及其值是否相同?

转载 作者:行者123 更新时间:2023-12-03 03:12:25 25 4
gpt4 key购买 nike

我正在努力理解 Flutter 中的状态概念。我来自 Delphi、Python 和 C# 等语言,并在想:

  • Flutter 中的一切都是小部件与其他语言中的一切都是对象(类实例)相同
  • 小部件是从具有 build 的类继承的对象。方法,类似于具有 OnPaint 的类或 OnShow其他语言的方法
  • 对象属性(成员变量)构成小部件/对象的状态。如果没有成员变量或者都声明为constfinal,那么小部件是无状态的。如果不是,则属性及其值构成小部件/对象的状态。

  • 我错过了什么?什么构成了变量之外的状态?

    PS 当我读到 Flutter 元素和元素树时,我会更加困惑,尽管 I may understand better一旦我掌握了小部件状态。

    最佳答案

    object properties (member variables) make up a widget/object's state. If there are no member variables or theys are all declared as const or final, then the widget is stateless. If not then the properties and their values make up the widget/object's state.



    这一点是不正确的。 Widget s 总是不可变的,但是 StatefulWidget包含对 State 的引用实例。状态是保存可变数据的地方。它们的生命周期比典型的小部件要长得多,并且包括特殊的状态管理方法,例如 initState() , setState() .他们还有一个 build()类似小部件的方法,大部分看起来像小部件,但它们实际上是 State<Widget> .

    你应该使用 StatelessWidget 还是 StatefulWidget?在开始 Flutter 开发时,这个问题经常出现。我的经验法则是,除非你知道你真的需要一个 StatefulWidget,否则从一个无状态的开始。原因是它们更简单,并且最流行的 IDE 可以将 StatelessWidget 转换为 StatefulWidget(并生成相应的状态扩展类)。

    关于flutter - 状态与类变量及其值是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58509548/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com