我认为这必须使用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设置和工作,因为其他一切似乎工作正常,如导入等。
答案 0 :(得分:3)
这是传播属性语法,它创建了this.state.cars
的浅表副本。这意味着这一行:
cars[`car-${timestamp}`] = car;
不会导致将额外的密钥添加到this.state.cars
。也就是说,它被专门使用,以便this.state.cars
不会突变。
要将展开属性包含在您的Babel配置中,您需要使用babel-plugin-syntax-object-rest-spread
和babel-plugin-transform-object-rest-spread
插件 - 这些插件包含在stage-2
预设中。