颤动中的Equatable和Freezed之间有什么区别?

嗨,我是 flutter 的新手,我正在关注一些 youtube 教程,我想知道 flutter 中的 Equatable 和 Freezed 之间有什么不同?我的意思是使用它的目的是相同的,但我只想知道在哪种情况下我们最好使用 Equatable 或 Freezed。

回答

我的意思是使用它的目的是一样的

一点也不。Equatable 是“一个抽象类,它有助于实现相等性,而无需显式覆盖 == 和 hashCode。”。Freezed 是“为具有简单语法/API 且不影响功能的不可变类生成代码。”

当然,它们都覆盖 == 和 hashCode,但在那之后,它们就大不相同了。Equatable 是一个 mixin,用于提供一致的、简单的 == 和 hashCode(虽然不一定是最有效的)。Freezed 是一个构建系统,可以使用注解来创建不可变类。绝对不同。

  • Do you need immutable values, and are willing to deal with the compile-time building for that? Use Freezed. Do you need to save a little time writing == and hashCode to react to the member values of your class? Use Equatable.

以上是颤动中的Equatable和Freezed之间有什么区别?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>