IE9 ReactJs 中未定义“Set”或“Map”

IT技术 reactjs internet-explorer-9
2021-05-27 03:37:46

我用 react 16.2.0 创建了一个简单的应用程序,当我在 IE9 上执行/运行它时,它显示控制台错误“设置”或“地图”未定义。

2个回答

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

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

npm install --save raf

索引.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 查找并添加 pollyfills。