复杂的继承关系
怎么个复杂法?
1、单继承限制
类组件只能通过单一继承来复用代码,这就意味着如果一个组件需要继承多个类或父类,就会遇到限制。
2、复杂的继承链
在大型应用中,类组件的继承关系可能会变得非常复杂,组件之间的耦合度高,不利于代码的灵活性和扩展性。
这些复杂的名词有奇怪的疑问,比如:
1、类组件为什么只能单一继承?
因为在JS中,类本身只支持单一继承
意味着一个类只能直接继承自另一个类,无法同时继承多个类
2、那函数组件怎么处理这个继承关系?
函数组件本身不支持像类组件那样的继承,但可以通过其他方式来实现类似的功能,比如组合、自定义Hook等。
3、既然类组件有那么多缺点,那还需要使用类组件吗?
已有项目:对于已经使用的类组件编写的项目;
使用第三方库:引用的第三方库为类组件编写的,需要在项目中使用这些库时需要使用类组件。
部分React 特性: 某些 React 特性(例如 Portals、Refs 等)在类组件中使用更加直观和方便