在Widget或State上保留最终字段?

时间:2017-05-09 15:20:01

标签: dart flutter

应该在哪里保留最终价值?

StatefulWidget(我的课程的子类)实例中,通过Statewidget.thatFinalField(子类)访问它,或

State本身。我已经看到了这两种方法..每种方法都有利弊吗?

1 个答案:

答案 0 :(得分:5)

您应该在final上存储StatefulWidget个成员字段(通过构造函数参数传递)并公开。

StatefulWidget的关联State应该只使用默认构造函数(无参数),其成员字段应该是私有的(以_开头)并且是可变的。如果需要昂贵或异步工作,请在内联或initState初始化它们。

此模式允许在父项调用StatefulWidget时使用新的构造函数参数重新创建/重建setState,同时重新使用之前的State并让它保存存储的值它的可变成员字段。