Alt*_*lse 5 javascript object ecmascript-6 reactjs
对于以下代码,我在图像中显示错误:
handlechange(event) {
    this.setState (prevState => {
      return(
      checked : !prevState.checked
    );});
}
但是当我在“返回”后将圆括号更改为卷曲时,它运行良好。我的意思是引擎盖下发生了什么?是什么导致错误消失?
handlechange(event) {
    this.setState (prevState => {
      return{
      checked : !prevState.checked
    }});
}

这不是 React 的事情。您的第一个示例只是无效的 JavaScript 语法。\xc2\xb9 您的第二个示例是有效的语法,返回通过对象初始值设定项创建的对象(通常称为对象“文字” {checked: !prevState.checked})。
\xc2\xb9 ()afterreturn包装一个表达式,然后在表达式中,它checked: !prevState.checked看起来像一个带标签的语句。但是您不能将带标签的语句放在需要表达式的位置。
旁注:另一种编写方法是在参数列表中使用属性解构并在对象初始值设定项中使用简写属性:
\n\nhandlechange(event) {\n    this.setState(({checked}) => {\n      checked = !checked;\n      return {checked};\n    });\n}\n| 归档时间: | 
 | 
| 查看次数: | 111 次 | 
| 最近记录: |