Javascript 在React中使用对象而不是类

Javascript 在React中使用对象而不是类,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我对JavaScript不熟悉,并会做出反应。我正在修改下面的代码以使用JavaScript对象而不是类。我被卡住了,因为我不理解第7行的代码,也不明白为什么会抛出错误 从“React”导入React; 功能组件(道具){ //而不是类AwesomeComponent exnteds React.Component AwesomeComponent=Object.assign(Object.create(React.Component.prototype)) AwesomeComponent.p

我对JavaScript不熟悉,并会做出反应。我正在修改下面的代码以使用JavaScript对象而不是类。我被卡住了,因为我不理解第7行的代码,也不明白为什么会抛出错误

从“React”导入React;
功能组件(道具){
//而不是类AwesomeComponent exnteds React.Component
AwesomeComponent=Object.assign(Object.create(React.Component.prototype))
AwesomeComponent.props=道具
AwesomeComponent.state={likecount:0};
this.onLike=this.onLike.bind(this);//这是我的问题。第7行
onLike()
让newlikescont=this.state.likescont+1;
this.setState({likeCount:newlikeCount});
AwesomeComponent.render=函数(){
返回(
喜欢:{this.state.likeCount}
像我一样
);
}
}
导出默认组件;
下面是引发的错误:


试试这个

   import React from 'react';

    class AwesomeComponent extends React.Component {

      constructor(props) {
        super(props);
        this.state = {likesCount : 0};
        this.onLike = this.onLike.bind(this);
      }

      onLike () {
        let newLikesCount = this.state.likesCount + 1;
        this.setState({likesCount: newLikesCount});
      }

      render() {
        return (
          <div>
            Likes : <span>{this.state.likesCount}</span>
            <div><button onClick={this.onLike}>Like Me</button></div>
          </div>
        );
      }

    }

    export default AwesomeComponent;
从“React”导入React;
类AwesomeComponent扩展了React.Component{
建造师(道具){
超级(道具);
this.state={likecount:0};
this.onLike=this.onLike.bind(this);
}
onLike(){
让newlikescont=this.state.likescont+1;
this.setState({likeCount:newlikeCount});
}
render(){
返回(
喜欢:{this.state.likeCount}
像我一样
);
}
}
导出默认组件;

您能粘贴得到的错误吗?AwesomeComponent.jsx:7未捕获类型错误:无法读取ReactComponentWrapper.js:306的measureLifeCyclePerf(ReactComponent.js:75)的ReactComponent组件(AwesomeComponent.jsx:7)中未定义的AwesomeComponent的属性“onLike”。\u ConstructionComponent WithoutOwner(ReactCompositeComponentWrapper上的(ReactCompositeComponent.js:305).\u ReactCompositeComponentWrapper.mountComponent(ReactDOMComponent.js:516)上的constructComponent(ReactCompositeComponent.js:280)…如果我使用onLike(){},它也会抛出错误。意外的标记{}谢谢@mmk,但我正在尝试不使用类。在react中使用Object.create来模拟原型继承是不可能的吗?我不这样认为。
   import React from 'react';

    class AwesomeComponent extends React.Component {

      constructor(props) {
        super(props);
        this.state = {likesCount : 0};
        this.onLike = this.onLike.bind(this);
      }

      onLike () {
        let newLikesCount = this.state.likesCount + 1;
        this.setState({likesCount: newLikesCount});
      }

      render() {
        return (
          <div>
            Likes : <span>{this.state.likesCount}</span>
            <div><button onClick={this.onLike}>Like Me</button></div>
          </div>
        );
      }

    }

    export default AwesomeComponent;