Сегодня я начал изучать ReactJS и после часа столкнулся с проблемой. Я хочу вставить компонент, который имеет две строки внутри div на странице. Упрощенный пример того, что я делаю ниже.
У меня есть html:
<html>
..
<div id="component-placeholder"></div>
..
</html>
Функция Render выглядит так:
...
render: function() {
return(
<div className="DeadSimpleComponent">
<div className="DeadSimpleComponent__time">10:23:12</div >
<div className="DeadSimpleComponent__date">MONDAY, 2 MARCH 2015</div>
</div>
)
}
....
И ниже я вызываю render:
ReactDOM.render(<DeadSimpleComponent/>, document.getElementById('component-placeholder'));
Сгенерированный HTML выглядит так:
<html>
..
<div id="component-placeholder">
<div class="DeadSimpleComponent">
<div class="DeadSimpleComponent__time">10:23:12</div>
<div class="DeadSimpleComponent__date">MONDAY, 2 MARCH 2015</div>
</div>
</div>
..
</html>
Проблема в том, что я не очень рад, что React заставил меня обернуть все в div "DeadSimpleComponent". Каково наилучшее и простое обходное решение для него, без явных манипуляций с DOM?
ОБНОВЛЕНИЕ 7/28/2017: Собственники Реактива добавили эту возможность в Реакт 16 Бета 1
Начиная с React 16.2, вы можете сделать это:
render() {
return (
<>
<ChildA />
<ChildB />
<ChildC />
</>
);
}