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

时间:2015-06-09 07:57:37

标签: ecmascript-6 babeljs es2015

我正在尝试将当前实例绑定到类方法,请注意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 :默认情况下应附加上下文,但是,React http://jsbin.com/citafaradu/2/edit?js,console,output的问题

1 个答案:

答案 0 :(得分:5)

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

class SomeClass {

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

}