ita*_*312 15 python-decorators reactjs higher-order-components
有人可以解释这两者之间有什么区别吗?我的意思是除了语法差异,这两种技术都用来实现同样的事情(这是重用组件逻辑)吗?
出于所有实际原因,装饰者和HOC也做同样的事情.
一个主要的区别是,一旦你添加了一个装饰器,属性/类只能用在它的装饰形式中.HOC模式提供更高阶以及可用的低阶组件.
有关装饰器的进一步阅读 - > https://medium.com/google-developers/exploring-es7-decorators-76ecb65fb841
装饰器不是广泛实现的JS功能.它仍处于提案阶段.默认情况下,Babel 7允许装饰器作为其阶段0配置中的默认插件.
https://babeljs.io/docs/plugins/transform-decorators/
我也很好奇为什么 React 社区称此为高阶组件 (HOC)而不是装饰器模式,这似乎正是它在做什么,并且在 1994 年 (!) 被四人组 (GoF) 描述过:Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides。
另一个令人困惑的来源是ES7 的装饰器模式与 GoF 对装饰器模式的解释不同。不幸的是,情况确实如此。我希望与其重新定义现有术语,还不如在对其进行限定时重用该术语。即使这是不可能的,发明一个不同的术语也会更容易接受。
| 归档时间: |
|
| 查看次数: |
4082 次 |
| 最近记录: |