javascript - 使用 Rest 运算符获取解构错误?

标签 javascript reactjs ecmascript-6

我假设这一定是使用 rest 语句进行解构?这到底在做什么?问题是,我在 WebStorm 中遇到错误:

const cars = {...this.state.cars}

错误:意外的 token

它指的是第一个 {

这是 react 组件方法:

addCar(car){
    const cars = {...this.state.cars};
    const timestamp = Date.now();
    cars[`car-${timestamp}`] = car;
    this.setState({ cars })
  }

我确实有 babel 设置和工作,因为其他一切似乎都工作正常,例如导入等。

最佳答案

这是扩展属性语法,它正在创建 this.state.cars 的浅拷贝。这意味着这一行:

cars[`car-${timestamp}`] = car;

不会导致将附加 key 添加到 this.state.cars。也就是说,它被专门用于 this.state.cars 未突变

要将传播属性包含在您的 Babel 配置中,您需要使用 babel-plugin-syntax-object-rest-spreadbabel-plugin-transform-object-rest-spread插件 - 包含在 stage-2 中预设。

关于javascript - 使用 Rest 运算符获取解构错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41925370/

相关文章:

javascript - 使用 javascript/jquery 隐藏鼠标悬停时链接的标题属性

javascript - JQuery Ajax 获取转换说明

reactjs - 是否可以将 react-datepicker 与 react 钩子(Hook)形式一起使用?

ruby-on-rails - 如何使用 redux-token-auth 设置 devise_token_auth 和 omniauth?

javascript - 为 Node 6 转译所需的最少一组 babel 插件是什么

javascript - 如何检查javascript数组是否包含具有特定值的属性,如果是则返回true

javascript - 卡牌游戏拖放

javascript - 使用reactjs获取API并显示在图表中

javascript - 箭头函数中包裹对象文字的括号是什么意思?

javascript - 禁用一页应用程序的浏览器后退按钮