虽然说react官方已经不推荐使用class, 改用FunctionComponent
但是这不妨碍写组件这个东西本身也是面向对象
面向对象的本质其实就是将数据与逻辑捆绑到一起, 以便于实现更好的封装, 继承, 多态
函数组件本身具有存储数据(函数组件用闭包存数据,基本和class的this.xxx等价。react hook就是用闭包的)和逻辑是毋庸置疑的, 至于如何实现继承和多态, 也仍然是可以用一个组件继承另一个组件然后添加功能, 添加数据
但是面向对象的父类与子类 与 组件中的父组件与子组件 的 概念是不同的
父类与子类: 是子能访问父, 继承父, 子类向父类传递参数
父组件与子组件: 父组件拥有子组件, 父组件向子组件传递参数
所以:
父组件 -> 子类
子组件 -> 父类
也就是说从组件(业务层)来看, 写法仍然是面向对象, 并且用面向对象的方式思考更有利于组织代码结, 但是细分进组件还是函数的写法
其实就是形式变了, 本质没变
说实话我也不知道自己在胡言乱语什么, 但是方向是这样想的, 希望有大佬补充下