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

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


错误:Unexpected token

它指的是第一个{

这是react component方法:

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;


不会导致将其他密钥添加到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/

10-13 06:32