反应中的传播运算符抛出意外令牌的错误

问题描述 投票:0回答:4

这是我包含扩展运算符的代码

style={{ ...styles.detailsRow.icon, alignSelf: 'centre' }}


我需要安装或添加哪些东西才能使其运行?

以及

es2015
中的等价物是什么?

reactjs ecmascript-6
4个回答
24
投票

您需要配置 Babel 来使用transform-object-rest-spread插件。 详情请参考以下链接:https://babeljs.io/docs/plugins/transform-object-rest-spread/


14
投票

您缺少一个 babel 预设,stage-0

npm install --save-dev babel-preset-stage-0

如果您有

.bablerc
文件,请添加以下内容。

{
  "presets":[
    "es2015", "react", "stage-0"
  ]
}

或者添加到 loader 中的 webpack 配置中。


7
投票

我遇到了同样的问题,我发现的解决方法是将

experimentalObjectRestSpread
添加到
ecmaFeatures
中的
.eslintrc
设置:

"parserOptions": {
  "ecmaVersion": 6,
  "sourceType": "module",
  "ecmaFeatures": {
     "jsx": true,
     "experimentalObjectRestSpread": true
  }
}

0
投票

我认为无需使用

Object.assign
方法的任何新包,就可以轻松解决此问题。这是提到的问题的示例

style={Object.assign({}, styles, { alignSelf: 'centre' })}
© www.soinside.com 2019 - 2024. All rights reserved.