应该在哪里保留最终价值?
在StatefulWidget
(我的课程的子类)实例中,通过State
从widget.thatFinalField
(子类)访问它,或
在State
本身。我已经看到了这两种方法..每种方法都有利弊吗?
答案 0 :(得分:5)
您应该在final
上存储StatefulWidget
个成员字段(通过构造函数参数传递)并公开。
StatefulWidget
的关联State
应该只使用默认构造函数(无参数),其成员字段应该是私有的(以_
开头)并且是可变的。如果需要昂贵或异步工作,请在内联或initState
初始化它们。
此模式允许在父项调用StatefulWidget
时使用新的构造函数参数重新创建/重建setState
,同时重新使用之前的State
并让它保存存储的值它的可变成员字段。