React Hooks简介
感谢支持ayqy个人订阅号,每周义务推送1篇( only unique one )原创精品博文,话题包括但不限于前端、Node、Android、数学(WebGL)、语文(课外书读后感)、英语(文档翻译) 如果觉得弱水三千,一瓢太少,可以去 http://blog.ayqy.net 看个痛快 一.出发点 在 React 现有的组件模型下,存在很多难以解决的问题: 难以跨组件复用状态逻辑 组件复杂度高难以理解 Class 的诸多弊病 …… 而 Hooks, 肩负着破局使命 组件间逻辑复用 组件间逻辑复用一直是个问题,Render Props、Higher-Order Components等常用 套路 模式都是为了分离横切关注点(Cross-cutting concern),复用诸如: 日志 缓存/同步/持久化 数据校验 错误捕获/异常处理 的逻辑,目的是 将横切关注点与核心业务逻辑分离开 ,以便专注于业务逻辑 P.S.关于切面、关注点等 AOP 概念的更多信息,见AOP(Aspect-Oriented Programming) 然而,HOC 与 Render Props 虽然能以组件形式分离横切关注点,但也带来了一些新问题: 扩展性限制 Ref 传递问题 Wrapper Hell 之所以会出现这些问题,根本原因在于: 细粒度代码复用不应该与组件复用捆绑在一起