【问题标题】:What is the at symbol (@) doing in React with ES6 and mixins? [duplicate]使用 ES6 和 mixins 在 React 中的 at 符号 (@) 是做什么的? [复制]
【发布时间】:2015-09-15 19:08:32
【问题描述】:

我正在使用 Formsy (https://github.com/christianalfoni/formsy-react) 进行 React 表单和验证。我不太明白这个@mixin (Formsy.mixin) 的部分。只是希望能在这里找到可以解释幕后行为的人:

@mixin (Formsy.Mixin)
class LabeledTextField extends React.Component {
  render() {
    return (
      //stuff here
    )
}

如果我不得不猜测,它似乎是将 Formsy 方法导入到组件的范围内,以便在组件内使用。只是希望从知道的人那里得到这个。

谢谢!

【问题讨论】:

  • 你在哪里找到这段代码的?在整个 repo gives zero results 中搜索 @mixin
  • 这是我写的,目前正在使用的代码,但是我已经取出了函数体/生命周期函数体。它有效,我的问题更多关于它是如何工作的。 IE @mixin 在做什么?
  • 让我看看能否找到使用@mixin 语法的示例。我知道它不在 Formsy 存储库中。

标签: javascript reactjs ecmascript-6 react-jsx


【解决方案1】:

好的,这似乎来自https://github.com/brigand/react-mixin 中使用的 ES7 装饰器提案。

我们在 webpack 加载器中使用 Babelstage: 1 配置集,允许 Babel 编译该装饰器语法。这使类可以通过包装器访问 mixin 的方法。

如果有人可以更彻底地解释这一点,请随意!

【讨论】:

  • 但是它有什么作用呢?
  • @TrySpace:和你一样,我发现这些答案对我没有帮助,所以我一直在挖,直到我明白为止。我为原始问题添加了另一个答案,其中包含更多详细信息 - see it here
猜你喜欢
  • 1970-01-01
  • 2011-02-25
  • 2015-10-27
  • 2014-09-28
相关资源
最近更新 更多