Meteor:使用ECMAScript 6处理MeteorData

Meteor:使用ECMAScript 6处理MeteorData,meteor,reactjs,Meteor,Reactjs,我正在使用Meteor和ReactJS开发一个应用程序。我正在为我的React组件使用ES6语法。使用旧语法,您可以执行以下操作: MyComponent = React.createClass({ mixins: [ReactMeteorData], render() { ... } }) 但这将如何转换为ES6语法呢 谢谢你的帮助。谢谢大家! 当您提到“ES6语法”时,您是指使用ES6类创建React组件吗?如以下代码所示: class HelloMessage

我正在使用Meteor和ReactJS开发一个应用程序。我正在为我的React组件使用ES6语法。使用旧语法,您可以执行以下操作:

MyComponent = React.createClass({
   mixins: [ReactMeteorData],

   render() {
    ...
   }
})
但这将如何转换为ES6语法呢

谢谢你的帮助。谢谢大家!

当您提到“ES6语法”时,您是指使用ES6类创建React组件吗?如以下代码所示:

class HelloMessage extends React.Component {
  render() {
    return <div>Hello {this.props.name}</div>;
  }
}
类HelloMessage扩展了React.Component{
render(){
返回Hello{this.props.name};
}
}
不幸的是,如果使用ES6类创建React组件,则不支持mixin。您必须使用
React.createClass
方式

以下为React官方文件:

没有混音 不幸的是,ES6在没有任何mixin支持的情况下发布。因此,当您使用React with ES6类时,不支持mixin。相反,我们正在努力使它更容易地支持这样的用例,而不必求助于mixin


我想查看以下内容:

它允许您在ES6类上使用mixin作为装饰器:

@ReactMixin.decorate(ReactMeteorData)
export default class MyClass extends React.Component {
  ...
}

这将不起作用,因为decorator是ES7,meteor默认情况下不支持decorator。最好的方法是像reactMixin.class(NameOfClass,ReactMeteorData)一样使用react-mix