如果启动启用了挂钩的项目,仍然有使用类组件的理由吗?

时间:2019-03-02 21:13:37

标签: reactjs

我正在启动一个基于React> 16.8的新项目,Hooks现在可用且稳定。我和他们一起玩耍,真的很喜欢他们提供的产品,并希望在我的项目中尽可能多地采用它们。我的问题是..多少钱?有没有理由不让他们100%?

由于功能组件现在可以提供类组件所具备的全部功能,are faster更加易于编写和阅读,因此还有理由使用基于类的组件吗?

2 个答案:

答案 0 :(得分:1)

在撰写本文时,只有很少的一些小案例没有被使用钩子(参见this FAQ)的功能组件所覆盖,例如getSnapshotBeforeUpdatecomponentDidCatch生命周期方法。这些是在将来的挂钩更新中计划的。

除此之外,经典组件的所有其他功能都可以重写为使用钩子的功能组件。

经典组件允许继承,但是我个人不认为组件继承是经典组件功能列表的一部分,因为自从React诞生以来它就一直strongly advised against,因为它违背了React的设计模式专为完成而设计。

总体上,在对钩子功能进行了一些更新之后,所有经典组件都将完全重写为使用钩子的功能组件。

答案 1 :(得分:0)

如果需要继承,或者需要具有通用功能的组件并根据需要扩展它,则将需要类。其他明智的钩子提供了一种更好,更干净,易于阅读,更快的方式来执行几乎所有类函数。

不使用任何类检查此To-Do App