2
一个非常简单的代码在作出反应工程 “这个” 转换为 “不确定”
var App = React.createClass({
handleForm: (e) => {
e.preventDefault();
},
render:() => {
return (
<form>
<button type="submit" onClick={this.handleForm}>Go</button>
</form>
);
}
});
获取转换成
// ...
_react2['default'].createElement(
'button',
{ type: 'submit', onClick: undefined.handleFormSubmit },
'Go'
)
但是,为什么?我是否需要明确地绑定所有的东西(包括this.setState
,因为同样的原因我无法工作)?
我使用反应0.13.3与webpack 1.12.2和babel-loader 5.3.2。之前没有遇到过这样的问题。
这实际上并不是严格的模式,在这种情况下会导致'undefined'。 Babel将所有东西都解析为ES6模块,而ES6模块中的“this”在规范中显式为“未定义”。 – loganfsmyth
@loganfsmyth在模块代码中'this'不是定义为'undefined',因为规范将其定义为严格模式? https://people.mozilla.org/~jorendorff/es6-draft.html#sec-strict-mode-code – lukewestby
@lukewestby你现在可以参考最终规范:) – JMM