最终值应该保存在哪里?
在 StatefulWidget
(当然是我的子类)实例中并通过 widget.thatFinalField
从 State
(子类)访问它,或者
在 State
本身中。我已经看过这两种方法了。它们各自有什么优缺点吗?
最佳答案
您应该将 final
成员字段(通过构造函数参数传递)存储在 StatefulWidget
上并公开。
StatefulWidget
的关联 State
应该只使用默认构造函数(无参数),并且它的成员字段应该是私有(private)的(以 _
) 和可变的。如果需要昂贵的或异步的工作,内联或在 initState
中初始化它们。
此模式允许 StatefulWidget
在其父级调用 setState
时使用新的构造函数参数重新创建/重建,同时重新使用之前的 State
并让它保留存储在其可变成员字段中的值。
https://stackoverflow.com/questions/43873752/