在 Flutter 中使用 Freezed
https://github.com/rrousselGit/freezed
https://www.developer.school/tutorials/how-to-use-freezed-with-flutter
https://runble1.com/flutter-freezed-tutorial/
Freezed
是一个不可变类的代码生成器, 用于数据类
/联合
/模式匹配
/克隆
的代码生成器
。不可变类的代码生成具有简单的语法/API,而不会影响功能。
在 Dart/Flutter
中定义模型(model
)的时候, 经常要附加以下的工作:
- 定义一个构造函数+属性
- 覆盖
toString
、运算符 ==、hashCode
- 实现一个
copyWith
方法来克隆对象 - 处理
反序列化
除此之外,Dart
还缺少联合类型
和模式匹配
等功能。实现所有这些可能需要数百行代码,这很容易出错并且模型的可读性显着。
Freezed
尝试通过实现以上的大部分内容来解决这个问题,让开发者可以专注于模型的定义。
不可变类(immutable class)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Laohoo!