【发布时间】:2016-05-12 18:21:15
【问题描述】:
我对 es6 相对较新,并且有反应。我正在跟进一个关于创建反应组件的教程,并想知道 es6 箭头函数在定义组件函数时是否可以正常工作。鉴于使用箭头函数时“this”的词法范围,我认为它会起作用。
但“this”对象似乎在 babel 转译代码中解析为“未定义”。关于为什么这不能解决定义组件变量的任何具体解释?虽然使用方法简写和扩展 es6 类是可行的,但我只是好奇。
带有箭头功能的组件:
const PromptContainer = React.createClass({
getInitialState: () => ({
username: '',
}),
onInputChange: (e) => {
this.setState({
username: e.target.value,
});
},
render: () => (
<div className="jumbotron col-sm-6 col-sm-offset-3 text-center">
<h1>{this.props.header}</h1>
<div className="col-sm-12">
<form>
<div className="form-group">
<input
className="form-control"
type="text"
onChange={this.onInputChange}
placeholder="Github Username"
value={this.state.username}
/>
</div>
</form>
</div>
</div>
),
});
【问题讨论】:
标签: javascript reactjs ecmascript-6 babeljs