Можно ли использовать React.render () несколько раз в DOM?
Я хочу использовать React для добавления компонентов несколько раз по всему DOM. эта скрипка показывает, что я хочу сделать, и это не вызывает никаких ошибок. Вот код:
HTML:
<div id="container">
<!-- This element's contents will be replaced with the first component. -->
</div>
<div id="second-container">
<!-- This element's contents will be replaced with the second component. -->
</div>
JS:
var Hello = React.createClass({
render: function() {
return <div>Hello {this.props.name}</div>;
}
});
React.render(<Hello name="World" />, document.getElementById('container'));
React.render(<Hello name="Second World" />, document.getElementById('second-container'));
Я видел этот вопрос, и я боюсь, что, делая выше, я буду рисковать тем, что реагирующие компоненты будут мешать друг другу. Ответ на этот вопрос предполагает использование рендеринга на стороне сервера, который не является вариантом для я, как я использую Django на стороне сервера.
С другой стороны, может быть, то, что я делаю, нормально, потому что у меня есть только один экземпляр библиотеки React (в отличие от нескольких компонентов, вызывающих свой собственный экземпляр React)?
является ли этот способ использования нескольких экземпляров DOM приемлемым способом использования React?
1 ответ:
Да, это совершенно нормально, чтобы позвонить
React.render
несколько раз на одной странице. Как вы и предлагали, сама библиотека React загружается только один раз, но каждый вызовReact.render
создаст новый экземпляр компонента, независимый от других. (На самом деле, такая ситуация не редкость на сайтах, которые находятся в процессе перехода реагировать, где некоторые части страницы генерируются с помощьюReact.render
а другие нет.)