React.js - целевой контейнер не является элементом DOM
Попытка визуализации реагирующего компонента:
var wrapper = document.getElementById('wrapper');
console.log(wrapper);
ReactDOM.render(
React.createElement(components.WrapperComponent),{modules_list:modules_list},wrapper);
Дает мне:
Ошибка: _registerComponent(...): целевой контейнер не является элементом DOM.
Я знаю, что эта ошибка может появиться, когда вы попытаетесь выполнить реакцию до того, как HTML-документ будет правильно загружен, но мой тег сценария находится внизу документа, непосредственно перед тегом end body. Это может также произойти, когда происходит несоответствие имени, но я уверен, что в моем документе есть div с id 'wrapper'. Когда я console.log (обертка), он дает мне объект, он не является неопределенным, поэтому idk зачем реагирует, отказывается отображать его.
PS: Я "импортирую" компонент реагирования с функцией RequireJS require:
requirejs(['jsx!layout/WrapperComponent'], function (WrapperComponent) {
components.WrapperComponent = WrapperComponent;
render();
});
Затем функция render() пытается выполнить рендеринг, как показано выше.
Часть моего HTML документа:
<body class="navbar-top has-detached-right">
<div id='wrapper'> .... </div>
1 ответ
Второй аргумент ReactDom.render должен быть контейнером dom. Но вы положили {modules_list:modules_list}. Я думаю, что ты хотел сделать,
ReactDOM.render(React.createElement(components.WrapperComponent, {modules_list:modules_list}),wrapper))