целевой элемент DOM с помощью React.createPortal - PullRequest
0 голосов
/ 30 марта 2020

Я хотел бы получить внутреннее HTML элемента div с помощью "editor" className, который я передаю через useContext. Как только я получу внутренний HTML, я добавлю его в div с именем класса "getcontent". В настоящее время мой код выдает сообщение об ошибке «Ошибка: целевой контейнер не является элементом DOM». Я создал Codesandbox . Заранее спасибо!

1 Ответ

0 голосов
/ 30 марта 2020

Кажется, вы передаете строку 'editor' в селектор запросов. Это неверно.

Ваш content.editor равен строке "editor".

Но когда вы используете querySelector, вы должны использовать синтаксис, такой как css селекторы (# - идентификатор , . - класс).

Я думаю, что вы только что пропустили эту точку.

document.querySelector('.editor');

Полное решение:

ReactDOM.createPortal(null, document.querySelector(`.${context.editor}`));

Теперь это работает для меня без ошибок:)

Еще одна функция без точки:

document.getElementsByClassName('editor')[0];
...