JavaScript 环境要求

React 16 依赖集合类型 MapSet 。如果你要支持无法原生提供这些能力(例如 IE < 11)或实现不规范(例如 IE 11)的旧浏览器与设备,考虑在你的应用库中包含一个全局的 polyfill ,例如 core-jsbabel-polyfill

React 16 使用 core-js 支持老版本浏览器,其 polyfill 环境可能如下:

  1. import 'core-js/es/map';
  2. import 'core-js/es/set';
  3. import React from 'react';
  4. import ReactDOM from 'react-dom';
  5. ReactDOM.render(
  6. <h1>Hello, world!</h1>,
  7. document.getElementById('root')
  8. );

React 同时还依赖于 requestAnimationFrame(甚至包括测试环境)。你可以使用 raf 的 package 增添 requestAnimationFrame 的 shim:

  1. import 'raf/polyfill';