如何使用babelify正确绑定当前对象的上下文中ES6(How to properly bind

2019-10-23 07:23发布

我想当前实例绑定到类方法,请注意ES6语法。

class SomeClass {

  search() => { ... }

}

这是100%合法的代码,但是,babelify不希望编译

SyntaxError: /Users/vladmiller/Projects/test/test/client/test/app/pages/Search.react.js: Unexpected token (50:26) while parsing file: /Users/vladmiller/Projects/test/test/client/test/app/pages/Search.react.js\

取而代之的是,现在我要绑定在类的构造背景

class SomeClass {
  constructor() {
    this.search = this.search.bind(this)
  }
  search() { ... }
}

这是很烦人的,乏味。

UPD:原来,这是无效的ES6语法; 因此,问题是如下。 什么是实例上下文绑定到一个类的方法的最好方法是什么?

UPD2:默认情况下应重视,但是,这个问题做出反应http://jsbin.com/citafaradu/2/edit?js,console,output

Answer 1:

此代码无效ES2015。 原型法的定义是这样的:

class SomeClass {

  search() { /* ... */ }

}


文章来源: How to properly bind current object context in ES6 using babelify