【问题标题】:...rest not working in Edge, React project...休息不在 Edge,React 项目中工作
【发布时间】:2020-04-07 16:24:38
【问题描述】:
handleSaveDefault = () => {
    let { Default, ...rest } = this.state.views;
    this.handleViewMenuClose();
    let setState = () => {
      return this.setState({
        views: { Default: [...this.state.selectedFields], ...rest },
      });
    };

这在 chrome 中运行良好,但在 Edge 中我收到错误 Expected identifier, string or number 指向 ...rest in let { Default, ...rest } = this.state.views;

我读到过旧版本的 Edge 不支持 ...rest,但现在应该支持。我已经更新了 Windows,但错误仍然存​​在。我安装了 babel,它显示在我的 package-lock.json 中,但没有显示在 package.json 中。

有没有办法让它工作,还是我必须创建自己的循环解决方法?

【问题讨论】:

  • 你的 package.json 是什么样的?

标签: reactjs babeljs microsoft-edge object-destructuring


【解决方案1】:

您使用的是哪个版本的 Edge?请在浏览器设置中检查 Edge 版本。 Edge Legacy 不支持Object rest/spread properties,但 Edge Chromium 支持。如果您想使用新的 Edge Chromium,您需要 download手动安装。仅更新 Windows 不会升级您的 Edge 浏览器。

如果你想在 Edge Legacy 中支持 object rest/spread 属性,你可以参考以下步骤:

通过运行安装 @babel/plugin-proposal-object-rest-spread

npm install --save-dev @babel/plugin-proposal-object-rest-spread

然后将其作为插件添加到 package.json 中:

{
  "plugins": ["@babel/plugin-proposal-object-rest-spread"]
}

更多详细信息,您可以参考this threadthis article

【讨论】:

  • 感谢您的回复。我想支持旧版本,因为我无法控制我的用户。我运行了你的 npm install 并添加了"devDependencies": { "@babel/plugin-proposal-object-rest-spread": "^7.9.5" } 我不确定在哪里添加你发布的插件片段?除了我刚刚添加的 devDependencies 之外,我当前的 package.jason 没有列出 babel。 babel 在 package-lock.json 中多次列出,但文件太大而无法发布。我在哪里放置{ "plugins": ["@babel/plugin-proposal-object-rest-spread"] }
  • 我将它与我以前的 react 项目进行了比较,其中 ...rest 可以正常工作,问题就像 this answer 说:react 删除了“babel-preset-react-app”中的 babel-spread-operator "(node_modules 中的文件夹)。我找到了一个简单的方法来解决这个问题,只需复制以前项目中的 babel-preset-react-app 文件夹并粘贴以替换新项目中的相同文件夹。 然后...rest 可以正常工作在边缘遗产中。仅供参考,对我来说运行良好的 babel-preset-react-app 版本是 9.0.2。
【解决方案2】:

我能够通过将 Edge Legacy 更新为 Edge Chromium 来解决它。

【讨论】:

    猜你喜欢
    • 2017-12-30
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-05
    相关资源
    最近更新 更多