reactjs - React js - HOC 和装饰器之间有什么区别

标签 reactjs python-decorators higher-order-components

谁能解释一下这两者有什么区别吗? 我的意思是,除了语法差异之外,这两种技术是否用于实现相同的目标(即重用组件逻辑)?

最佳答案

出于所有实际原因,装饰器和 HOC(高阶组件又名包装器)做同样的事情。

一个主要区别是,一旦添加装饰器,属性/类只能以其装饰形式使用。 HOC 模式使高阶和低阶组件可供使用。

有关装饰器的进一步阅读 -> https://medium.com/google-developers/exploring-es7-decorators-76ecb65fb841
装饰器并不是一个广泛实现的 JS 功能。目前仍处于提案阶段。 Babel 7 默认允许装饰器作为其 stage 0 配置中的默认插件。 https://babeljs.io/docs/plugins/transform-decorators/

关于reactjs - React js - HOC 和装饰器之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48686826/

相关文章:

reactjs - Next.js 中使用 TypeScript 和 HOC 的持久布局

javascript - React Higher Order Component - 从包装器组件调用包装组件中的函数

javascript - React Native - TypeScript 中带有 ref 回调的高阶组件抛出编译错误

javascript - React onChange 来处理状态对象

javascript - 替换对象内的数组 -Reducer

Python 3.5 装饰器和函数域

python - 嵌套类装饰器也是描述符类

Python - 计算函数通过装饰器的次数

reactjs - react this.props 未定义或空对象

reactjs - React Jest/ enzyme 测试 : useHistory Hook Breaks Test