我正在尝试使用 React 0.13 和 ES6 语法编写一个小型 webapp。我正在使用 webpack 和 babel-loader 进行编译:
loaders: [
{ test: /\.js/, exclude: /node_modules/, loader: "babel-loader"}
]
我在方法中使用 this 变量时遇到问题,在我的代码中的多个地方都出现“这是未定义的”。例如:
export class PanelEditor extends React.Component {
...
update (){
if (!this.isMounted())
return;
this.setState(this.getStateFromStore());
}
...
}
在这种情况下,永远不应未定义this变量。但是,我发现问题可能出在 Babel 重写代码的方式上:
update: {
value: function update() {
if (!this.isMounted()) {
return;
}
this.setState(this.getStateFromStore());
}
},
这样,在我看来,this变量是指对象文字而不是class。我怎样才能解决这个问题?