React может быть несовместим сразу с IE,
Из официальной документации:
React поддерживает все популярные браузеры, включая Internet Explorer 9 и выше, хотя для старых версий требуются некоторые полифилы.браузеры, такие как IE 9 и IE 10.
Мы не поддерживаем старые браузеры, которые не поддерживают методы ES5, но вы можете обнаружить, что ваши приложения работают в более старых браузерах, если многозаполнения, такие как es5-shim и es5-sham включены в страницу.Вы сами по себе, если решите пойти по этому пути.
Чтобы приложение работало в IE (11 или 9), вам нужно установить React-app-polyfill:
https://www.npmjs.com/package/react-app-polyfill
Особенности:
Каждый полифилл обеспечивает наличие следующих языковых функций:
Promise (for async / await support)
window.fetch (a Promise-based way to make web requests in the browser)
Object.assign (a helper required for Object Spread, i.e. { ...a, ...b })
Symbol (a built-in object used by for...of syntax and friends)
Array.from (a built-in static method used by array spread, i.e. [...arr])
Использование
Сначала,установите пакет, используя Yarn или npm:
npm install react-app-polyfill
Теперь вы можете импортировать точку входа для минимальной версии, которую вы намереваетесь поддерживать.Например, если вы импортируете точку входа IE9, это будет включать поддержку IE10 и IE11.
Internet Explorer 9
// This must be the first line in src/index.js
import 'react-app-polyfill/ie9';
// ...
Internet Explorer 11
// This must be the first line in src/index.js
import 'react-app-polyfill/ie11';
// ...
Вы также можете настроить манифест для работы с различными браузерами, используя следующую документацию: https://github.com/browserslist/browserslist
пример:
"browserslist": [
">0.2%",
"not dead",
"ie >= 9"
]