Очень простой кодВ React проект, "этот" превращается в "неопределенном"
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'. Бабель разбирает все как модуль ES6, а 'this' в модуле ES6 явно не определен в спецификации. – loganfsmyth
@loganfsmyth это не тот случай, что 'this' определяется как' undefined' в модульном коде, потому что спецификация определяет его в строгом режиме? https://people.mozilla.org/~jorendorff/es6-draft.html#sec-strict-mode-code – lukewestby
@lukewestby вы можете ссылаться на финальную версию сейчас :) – JMM