Только для IE 11: ошибка ReactDOM.createPortal (): объекты недопустимы как дочерние элементы React - PullRequest
0 голосов
/ 04 июня 2018

Когда я импортирую 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...