我正在启动一个基于React> 16.8的新项目,Hooks现在可用且稳定。我和他们一起玩耍,真的很喜欢他们提供的产品,并希望在我的项目中尽可能多地采用它们。我的问题是..多少钱?有没有理由不让他们100%?
由于功能组件现在可以提供类组件所具备的全部功能,are faster更加易于编写和阅读,因此还有理由使用基于类的组件吗?
答案 0 :(得分:1)
在撰写本文时,只有很少的一些小案例没有被使用钩子(参见this FAQ)的功能组件所覆盖,例如getSnapshotBeforeUpdate
和componentDidCatch
生命周期方法。这些是在将来的挂钩更新中计划的。
除此之外,经典组件的所有其他功能都可以重写为使用钩子的功能组件。
经典组件允许继承,但是我个人不认为组件继承是经典组件功能列表的一部分,因为自从React诞生以来它就一直strongly advised against,因为它违背了React的设计模式专为完成而设计。
总体上,在对钩子功能进行了一些更新之后,所有经典组件都将完全重写为使用钩子的功能组件。
答案 1 :(得分:0)
如果需要继承,或者需要具有通用功能的组件并根据需要扩展它,则将需要类。其他明智的钩子提供了一种更好,更干净,易于阅读,更快的方式来执行几乎所有类函数。
不使用任何类检查此To-Do App。