javascript - 首选 ES6 箭头函数语法格式

标签 javascript reactjs ecmascript-6

我有一个 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 行代码,但它也有很多括号。有没有我可能遗漏的另一种变体可以进一步清理它?扩展运算符的使用增加了一个额外的括号,可以以某种方式删除它吗?

谢谢

最佳答案

您可以解构事件中的值,并将 setState 作为唯一的语句。

({ target: { value } }) => this.setState(prevState => ({
  form: {
    ...prevState.form,
    password: value
  }
}));

关于javascript - 首选 ES6 箭头函数语法格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51790143/

相关文章:

javascript - XMLHttpRequest GET 在 React.js 中不起作用

javascript - 为什么我的 react 变量不会在 DOM 上呈现?

javascript - 模块构建失败 : ReferenceError: [BABEL] Unknown option: base. 阶段

reactjs - 只有一些从 SpaceX API 获取的嵌入式 YouTube 视频无法在浏览器中加载

javascript - React map() 显示未定义

javascript - 将文档属性中的数组与 dataRange 中的数组进行比较不起作用

javascript - 为什么javascript ES6 Promises在解决后继续执行?

javascript - 如何将脚本添加到 jqgrid 中行上的自定义按钮?

javascript - 如何在 Typescript 中强制一段代码等待 API 调用完成?

javascript - html webview android 中的 Cookie