at 符号 (@) 在 React 中用 ES6 和 mixins 做什么?

What is the at symbol (@) doing in React with ES6 and mixins?

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

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

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

谢谢!

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

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

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