'Set' 或 'Map' 在 IE9 ReactJs 中未定义

'Set' or 'Map' is undefined in IE9 ReactJs

我用 React 16.2.0 创建了一个简单的应用程序,当我在 IE9 上 execute/run 它显示控制台错误 'Set' 或 'Map' 未定义。

我发现 运行 我在 IE9 上的 React 应用程序需要一些 polyfill。我按照以下步骤操作,它对我有用。由于 React 16 依赖于集合类型 Map 和 Set。如果您支持可能尚未原生提供这些功能的旧浏览器和设备(例如 IE < 11),请考虑在您的捆绑应用程序中包含一个全局 polyfill,例如 core-js 或 babel-polyfill。

我们还必须使用 requestAnimationFrame polyfill 库,它是 raf

npm install --save raf

index.js

import 'core-js/es6/map';
import 'core-js/es6/set';
import 'raf/polyfill';

import React from 'react';
import ReactDOM from 'react-dom';

ReactDOM.render(
  <h1>Hello, world!</h1>,
  document.getElementById('root')
);

如果它不起作用,您还应该为 set 和 map 找到并添加 polyfill。