React 自定义hook 能否理解为一个没有dom 只有逻辑处理的组件?
- 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:React Hooks 实现和由来以及解决的问题
- 除此之外, 这篇博客: React 实战 |你知道React hook吗?全面指南↓中的 为什么使用hook? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
- 在组件之间复用状态逻辑很难:使用hook从组件中提取状态逻辑,使得这些逻辑可以单独测试并复用。Hook使你在无需修改组件结构的情况下复用状态逻辑。(自定义Hook)
- 复杂组件变得难以理解:每个生命周期常常包含一些不相关的逻辑。Hook将组件中相互关联的部分拆分成更小的函数(Effect Hook)
- 难以理解的class:必须理解js中的this的工作方式,不能忘记绑定事件处理器,给工具也带来一些问题。Hook 使你在非 class 的情况下可以使用更多的 React 特性。
可以这么理解,React的自定义hook可以将一些公共的逻辑进行抽取,相当于在原有的组件划分的基础上,对每个组件还进行了更细致的业务逻辑功能划分,这样一个组件可以通过几个自定义的hook进行重组。