целевой элемент DOM с React.createPortal

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

1 ответ

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

Твой content.editor равно строке "редактор".

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

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

document.querySelector('.editor');

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

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

У меня теперь работает без ошибок:)

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

document.getElementsByClassName('editor')[0];
Другие вопросы по тегам