使用在ES6 React Component类之外声明的方法

时间:2015-08-19 04:36:33

标签: javascript oop reactjs

我在下面的代码中使用了reactjs ES 6,但它不起作用。我的问题是:如何使用组件类之外的方法?是否可以在一个文件中包含许多组件类?非常感谢。

function methodOutside(){
   /** Do something else **/  
}

class myComponent1 extends React.Component{
  constructor(){
    super();
    this.methodInside1 = this.methodInside1.bind(this);
  }

  methodInside(){

   /**Do something **/
  }

  render(){
     this.methodInside1();
     methodOutside();
  }

}

class myComponent2 extends React.Component{
  constructor(){
    super();
    this.methodInside2 = this.methodInside2.bind(this);
  }

  methodInside(){

   /**Do something **/
  }

  render(){
     this.methodInside2();
     methodOutside();
  }

}

1 个答案:

答案 0 :(得分:0)

我在评论中发帖回答。将它发布在这里,以便其他人更容易看到它。

m2e<version>1.3.0-M4</version> 您似乎在未定义的内容上调用bind。你的意思不是this.methodInside2 = this.methodInside2.bind(this);

虽然我无法理解这一点,但您可以从this.methodInside1 = this.methodInside1.bind(this);方法调用this.methodInside1 = this.methodInside.bind(this);this.methodInside()将受到您所期望的约束。