使用Rest运算符获取Destructuring错误?

时间:2017-01-29 20:03:12

标签: javascript reactjs ecmascript-6

我认为这必须使用rest语句进行解构?到底是做什么的?问题是,我在WebStorm中遇到错误:

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

错误:Unexpected token

它指的是第一个{

这里是反应成分方法:

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

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

1 个答案:

答案 0 :(得分:3)

这是传播属性语法,它创建了this.state.cars的浅表副本。这意味着这一行:

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

不会导致将额外的密钥添加到this.state.cars。也就是说,它被专门使用,以便this.state.cars 不会突变

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