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

How to properly bind current object context in ES6 using babelify

我正在尝试将当前实例绑定到 class 方法,请注意 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 构造函数中绑定上下文

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

这很烦人和无聊。

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

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

的问题

此代码在 ES2015 中无效。原型方法定义如下:

class SomeClass {

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

}