Почему IE 11 отображает приложение реагирования на рендеринг пустой страницы - PullRequest
0 голосов
/ 05 декабря 2018

У меня проблема с IE 11 и моим приложением реакции.Я использую Webpack, babel и polyfill.io cdn, и все хорошо, пока рендеринг не перепутан, затем он перестает что-либо делать.У вас есть идеи, что может пойти не так?

Заранее спасибо.

Ответы [ 4 ]

0 голосов
/ 25 августа 2019

react-app-polyfills у меня работает только в производстве, а не в dev.Постройте, разверните и затем протестируйте его.

0 голосов
/ 05 декабря 2018

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"
]
0 голосов
/ 04 июля 2019

Для всех, кто сталкивается с этой проблемой,

Если у вас не работаетact-app-polyfill, попробуйте вместо этого core-js.

$ npm install core-js

Убедитесь, что этопервая строка в вашем файле src / index.js:

import 'core-js/stable'

Также вы можете не увидеть исправления в процессе разработки.

Для меня проблема была решена только в производственной средеверсия (реагирующая сборка)

0 голосов
/ 05 декабря 2018

Если вы используете Object.assign () в своем редукторе (например) или некоторые другие функции, которые IE11 не поддерживает без полизаполнения, у вас возникнет эта проблема.

...