首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“跟踪: TypeError: React.__spread不是函数”

“跟踪: TypeError: React.__spread不是函数”
EN

Stack Overflow用户
提问于 2017-11-28 11:11:28
回答 1查看 647关注 0票数 0

当我使用React 15时,我看到了关于这个问题的警告,我不记得确切的警告是什么。但是我现在使用的是React 16,我的应用程序正在突破这个错误,上面写着:

Trace: TypeError: React.__spread is not a function

我正在使用扩展操作符{...props}。这就是问题所在吗?

编辑: Babel没有转换扩展操作符,需要使用babel-plugin-transform-object-rest-spread来使用扩展操作符,我也尝试了同样的方法。但它也不起作用。进一步的研究表明,我们可能需要像'transform-es2015-spread', 'transform-es2015-parameters', 'transform-es2015-destructuring'这样的其他插件才能工作(?)

我尝试了各种插件/预置的组合,这些插件/预置仍然无法编译Babel中的扩展操作符。

下面是给予babel package.json:

代码语言:javascript
复制
"babel-core": "^6.25.0",
"babel-loader": "^7.1.1",
"babel-plugin-transform-es2015-destructuring": "^6.23.0",
"babel-plugin-transform-es2015-spread": "^6.22.0",
"babel-plugin-transform-es2015-parameters": "^6.24.1",
"babel-preset-env": "^1.6.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-es2015-tree-shaking": "^1.0.1",
"babel-preset-react": "^6.24.1",

并对依赖作出反应:

代码语言:javascript
复制
"react": "^16.0.0",
"react-dom": "^16.0.0",
"react-redux": "^5.0.6",
"react-router-dom": "^4.1.2",

这更像是巴贝尔的问题。我使用的babel配置是:

代码语言:javascript
复制
const BABEL_PRESET = {
  loader: 'babel-loader',
  options: {
    presets: ['es2015', 'react'],
    plugins: ['transform-es2015-spread', 'transform-es2015-parameters', 'transform-es2015-destructuring']
  }
};

注意:,这是我最后一次尝试的配置。我也尝试过另外几种配置。

EN

回答 1

Stack Overflow用户

发布于 2017-11-28 12:49:25

您可以添加此依赖项:"babel-plugin-transform-object-rest-spread"

然后将其添加到.babelrc中:

代码语言:javascript
复制
{
  "presets": [
    ["react"], ["env"]
  ],
  "plugins": ["transform-object-rest-spread"]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47530134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档