HooksletyouusestateandotherReactfeatureswithoutwritingaclass
Hooks可以让你在不编写class的情况下使用state以及其他的React特性
?「一、类组件不足:」状态难以复用(渲染属性RenderProps、高阶组件HOC、Mixin、Hooks可以解决这个问题)在hooks出来之前,常见的代码重用方式是HOC和renderprops,这两种方式带来的问题是:你需要解构自己的组件,同时会带来很深的组件嵌套缺少复用机制渲染属性RenderProps和高阶组件HOC导致层级冗余RenderPropsHOC(调用时候比renderprops方便)趋向复杂难以维护生命周期函数经常包含不相干逻辑相干逻辑被打散在不同生命周期,理解代码逻辑也很吃力this指向困扰内联函数过度创建新句柄(每次都是新的,会重新触发,导致子组件不停渲染)类成员函数不能保证this二、「Hooks优势(优化类组件的三大问题):」函数组件无this问题(都在函数内部,没有实例化的概念)自定义Hook方便复用状态逻辑副作用的