如何使用babelify正确绑定ES6中的当前对象上下文

Vla*_*ler 1 ecmascript-6 babeljs es2015

我正在尝试将当前实例绑定到类方法,请注意ES6语法.

class SomeClass {

  search() => { ... }

}
Run Code Online (Sandbox Code Playgroud)

这是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\
Run Code Online (Sandbox Code Playgroud)

相反,现在我必须在类构造函数中绑定上下文

class SomeClass {
  constructor() {
    this.search = this.search.bind(this)
  }
  search() { ... }
}
Run Code Online (Sandbox Code Playgroud)

这是非常烦人和无聊的.

UPD:事实证明这是无效的ES6语法; 因此问题如下.将实例上下文绑定到类方法的最佳方法是什么?

UPD2:默认情况下应该附加上下文,但问题是React http://jsbin.com/citafaradu/2/edit?js,console,output

Pav*_*vlo 5

此代码无效ES2015.原型方法定义如下:

class SomeClass {

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

}
Run Code Online (Sandbox Code Playgroud)