Оказывать реагируют на тень корня


Я пытаюсь инкапсулировать компонент React в Shadow Root. Компонент отрисовывается без проблем, но события не работают. Мой код выглядит так:

let shadow = document.getElementById('root').attachShadow({mode: 'open'});
shadow.innerHTML = "<div id='panel'></div>";


ReactDOM.render(
    <Admin />,
    shadow.getElementById('panel')
);

Версия React - 15.4.2. Я просмотрел список проблем и не могу понять, является ли это проблемой React или я делаю что-то неправильно.

Любая помощь будет оценена по достоинству!

1 2

1 ответ:

Это известная проблема react.

Здесь есть ряд дискуссий (, здесь, здесь и здесь ), которые относятся к этому вопросу, ниже приводится выдержка из одного из них:

Проблема в том, что React имеет глобальный обработчик событий в документе и тени Дом перенастраивает случае, чтобы она выглядела, как он пришел с хост-узла. Это не позволяет реагировать от прохождения мероприятия правый элемент.