• JavaScript Environment Requirements
    • MapSet。若你要支持老式的可能未提供原生支持的浏览器和设备(例如 IE < 11),考虑在你的打包应用中包含一个全局的 polyfill,例如core-jsbabel-polyfill。">React 16 依赖集合类型MapSet。若你要支持老式的可能未提供原生支持的浏览器和设备(例如 IE < 11),考虑在你的打包应用中包含一个全局的 polyfill,例如core-jsbabel-polyfill

    此文章是翻译JavaScript Environment Requirements这篇React(版本v16.2.0)官方文档。

    JavaScript Environment Requirements

    React 16 依赖集合类型MapSet。若你要支持老式的可能未提供原生支持的浏览器和设备(例如 IE < 11),考虑在你的打包应用中包含一个全局的 polyfill,例如core-jsbabel-polyfill

    一个使用 core-js 支持老版浏览器的 React 16 polyfill 环境大致如下:

    1. import 'core-js/es6/map';
    2. import 'core-js/es6/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 包去 shim requestAnimationFrame

    1. import 'raf/polyfill';