Hook 发展史 Mixins 优点 代码重用 缺点 命名冲突 隐式依赖 HOC 优点 容器组件和展示组件分离 缺点 不直观 难以阅读 组件层层嵌套 Render Prop 优点 灵活 缺点 不直观 难以理解 hook 优点 提取公用逻辑比较简单 容易组合 可读性强 没有名字冲突 缺点 只能在组件的顶层使用,只能在函数组件中使用 原理为闭包,容易产生意想不到的问题