此文章是翻译JavaScript Environment Requirements这篇React(版本v16.2.0)官方文档。
JavaScript Environment Requirements
React 16 依赖集合类型Map 和Set。若你要支持老式的可能未提供原生支持的浏览器和设备(例如 IE < 11),考虑在你的打包应用中包含一个全局的 polyfill,例如core-js 或babel-polyfill。
一个使用 core-js 支持老版浏览器的 React 16 polyfill 环境大致如下:
import 'core-js/es6/map';
import 'core-js/es6/set';
import React from 'react';
import ReactDOM from 'react-dom';
ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('root')
);
React 也依赖于requestAnimationFrame
(甚至包括测试环境)。你可以使用raf 包去 shim requestAnimationFrame
:
import 'raf/polyfill';