dart - 在小部件或状态上保留最终字段?

最终值应该保存在哪里?

StatefulWidget(当然是我的子类)实例中并通过 widget.thatFinalFieldState(子类)访问它,或者

State 本身中。我已经看过这两种方法了。它们各自有什么优缺点吗?

最佳答案

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

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

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

https://stackoverflow.com/questions/43873752/

相关文章:

flutter - 在 Dart 中添加/减去迄今为止的月/年?

android - Gradle 失败可能是因为这个 Flutter 应用程序中的 AndroidX

flutter - 如何在 flutter 中修复 'net::ERR_CLEARTEXT_NOT_

flutter - 使用谷歌地图的两个屏幕返回应用程序的问题

firebase - 我可以使用 StreamBuilder 在 Firestore 中收听单个文档

dart - 如何将卡片放入 sliver 应用栏

unicode - 在 Dart 中处理字素簇

android - 长按时 flutter 触觉反馈

dart - 如何在 dart 中使用 request.send() 获取响应正文

flutter - Cocoapods 找不到 pod Firebase 的兼容版本