Actualización : el enfoque de polyfill create-react-app y los documentos han cambiado desde esta pregunta / respuesta. Ahora debe incluir react-app-polyfill
( aquí ) si desea admitir navegadores más antiguos como ie11. Sin embargo, esto solo incluye los " ... requisitos mínimos y características de lenguaje de uso común ", por lo que aún querrá usar uno de los enfoques a continuación para características menos comunes de ES6 / 7 (como Array.includes
)
Ambos enfoques funcionan:
1. Importaciones manuales desde react-app-polyfill y core-js
Instale react-app-polyfill y core-js (3.0+):
npm install react-app-polyfill core-js
o yarn add react-app-polyfill core-js
Cree un archivo llamado (algo así como) polyfills.js e impórtelo en su archivo raíz index.js. Luego importe los polyfills básicos de la aplicación de reacción, además de las características específicas requeridas, así:
import 'react-app-polyfill/ie11';
import 'core-js/features/array/find';
import 'core-js/features/array/includes';
import 'core-js/features/number/is-nan';
import './polyfills'
...
2. Servicio Polyfill
Use el CDN polyfill.io para recuperar polyfills personalizados y específicos del navegador agregando esta línea a index.html:
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=default,Array.prototype.includes"></script>
tenga en cuenta que tuve que solicitar explícitamente la Array.prototype.includes
función, ya que no está incluida en el conjunto de funciones predeterminado.
babel-polyfill
como un polyfill ES6 + fácil.