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))
Другие вопросы по тегам