在 Hooks 发布以来,饱受诟病的一点就是维护成本激增,特别是对于成员能力水平差距较大的团队来说。即便一开始由经验老到的同学搭建整个项目框架,一旦交由新人维护一段时间后,大概率也会变得面目全非,更不用说让新人使用 Hooks 开发从零到一的工程。我理解这是由于 Hooks 的高度灵活性所导致的,Class Component 尚有一系列生命周期方法来约束,而 Hooks 除了 API 参数上的约束,也仅有 “只在最顶层使用 Hook” “只在 React 函数中调用 Hook” 两条强制规则。另一方面自定义 Hook 提高组件逻辑复用率的同时,也导致经验不足的开发者在抽象时缺少设计。Class Component 中对于逻辑的抽象通常会抽象为纯函数,而 Hooks 的封装则可能携带各种副作用(useEffect),出现 bug 时排查成本较大。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。