写代码时候想到 React 组件可不可以继承,查了一下资料确实是可以继承,但是大部分人都说不推荐继承,请问原因是什么呢?
可以看看这篇文章Composition vs Inheritance
大体来说,不过是组合更适合react的风格,因为react是基于组件的。而且整个react社区也是以组合为主,与社区保持统一的好处很多。
当然,继承也是可以用,但是在没有绝对的好处的情况下用继承显然不是个明智的选择。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
主要考虑的还是代码质量的问题,如果2个组件本身业务比较复杂,做成继承的方式,就很不好,当你在看子组件的时候,你还要去父组件里看,react希望你一个组件只专注于一件事。
因此,我建议如果是抽象类的话可以做成继承,如果是2个实际都会被使用到的组件的话,尽量不要去用继承的方式,而是拆分成更小的组件,用fb推荐的高阶组件的方式去做。