0
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 inlet { Default, ...rest } = this.state.views;

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

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

4

2 回答 2

1

您使用的是哪个版本的 Edge?请在浏览器设置中检查 Edge 版本。Edge Legacy 不支持对象休息/扩展属性,但 Edge Chromium 支持。如果要使用新版 Edge Chromium,需要手动下载安装。仅更新 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"]
}

有关更多详细信息,您可以参考此线程本文

于 2020-04-08T02:00:17.267 回答
0

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

于 2020-12-27T17:32:10.360 回答