Допустим, в моем HTML-файле есть место:
<div id="root"></div>
Чтобы отобразить элемент React в этот узел DOM, я передаю его в ReactDOM.render ():
const element = <h1>Hello, world</h1>;
ReactDOM.render(element, document.getElementById('root'));
Но что, если этот узел создан программно, после того, как, скажем, пользователь входит в систему, так что есть задержка при его рендеринге.Чтобы проиллюстрировать это, я пытаюсь сделать что-то вроде:
<script type="text/javascript">
setTimeout(function(){
document.body.innerHTML += '<div id="root" data-user="1"></div>'
}, 3000)
</script>
Это не работает.ReactDOM ничего не находит на первом проходе, когда ищет document.getElementById('root')
, и поэтому ничего не рендерит.Есть ли способ сделать это динамически?