Оказывать реагируют на тень корня
Я пытаюсь инкапсулировать компонент 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 ответ:
Это известная проблема react.
Здесь есть ряд дискуссий (, здесь, здесь и здесь ), которые относятся к этому вопросу, ниже приводится выдержка из одного из них:
Проблема в том, что React имеет глобальный обработчик событий в документе и тени Дом перенастраивает случае, чтобы она выглядела, как он пришел с хост-узла. Это не позволяет реагировать от прохождения мероприятия правый элемент.