Когда я импортирую ReactDom в свой модальный компонент для использования метода createPortal, модал работает во всех браузерах, кроме IE 11. Но если мне не удается импортировать ReactDOM, модал работает во всех браузерах, включая IE 11.
// Component file
import React from 'react';
import ReactDOM from 'react-dom'; // removing this line allows modal to work in all browsers including IE 11
export default class Modal extends React.Component {
...
getModalWrapper() {
return (
<div className="Modal-overlay">
<div className="Modal-content">{this.props.children}</div>
</div>
);
}
render() {
return (
ReactDOM.createPortal(this.getModalWrapper(), this.el)
);
}
}
Когда я не включаю импорт ReactDOM в этот файл, модал работает во всех браузерах.Но в моих тестах, естественно, ошибочно говорится, что ReactDOM
не определено.
Ошибка, которую я получаю в IE 11 (и только в IE 11, все другие браузеры работают нормально, включая Edge):
Objects are not valid as a React child (found: object with keys {$$typeof, key, children, containerInfo, implementation}). If you meant to render a collection of children, use an array instead.
Другая информация:
Версия React: 16.4.0
Версия React Dom: 16.4.0