Javascript 首选ES6 arrow函数语法格式
我有一个Javascript 首选ES6 arrow函数语法格式,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我有一个onChange事件处理程序,其形状如下: (e) => (value => this.setState(prevState => ({ form: { ...prevState.form, email: value } })))(e.target.value) 我把它缩小到这个 (e) => { let value = e.target.value; thi
onChange
事件处理程序,其形状如下:
(e) => (value => this.setState(prevState => ({
form: {
...prevState.form,
email: value
}
})))(e.target.value)
我把它缩小到这个
(e) => {
let value = e.target.value;
this.setState((prevState) => ({
form: {
...prevState.form,
password: value
}
}))
}
这两个都不是很吸引人。我喜欢第一个b/c,它少了3行代码,但也有大量的括号。有没有我可能遗漏的另一个变体可以进一步清理这个问题?使用spread运算符会增加一个额外的参数,是否可以以某种方式删除
谢谢我个人会用这个:
e => {
let value = e.target.value;
this.setState({
form: {
...this.state.form,
password: value
}
});
}
我个人会用这个:
e => {
let value = e.target.value;
this.setState({
form: {
...this.state.form,
password: value
}
});
}
您可以对事件中的值进行分解,只需执行
setState
作为唯一的语句
({ target: { value } }) => this.setState(prevState => ({
form: {
...prevState.form,
password: value
}
}));
您可以对事件中的值进行分解,只需执行
setState
作为唯一的语句
({ target: { value } }) => this.setState(prevState => ({
form: {
...prevState.form,
password: value
}
}));
你还有一个想法:)
你还有一个想法:)
非常感谢第二个,非常感谢第二个,这是baller,解构ftw。谢谢我知道有更好的办法。不管谁投了反对票,都不能用这个:)这是baller,解构ftw。谢谢我知道有更好的办法。无论谁投了反对票,都不能用这个:)