Спробуйте сприймати теги як виклики функцій (див. Документи ). Тоді першим стає:
{[1,2,3].map(function (n) {
return React.DOM.p(...);
})}
І другий:
{[1,2,3].map(function (n) {
return (
React.DOM.h3(...)
React.DOM.p(...)
)
})}
Тепер повинно бути зрозуміло, що другий фрагмент насправді не має сенсу (ви не можете повернути більше одного значення в JS). Ви повинні або обернути його в інший елемент (швидше за все, що б ви хотіли, таким чином, ви також можете надати дійсну key
властивість), або ви можете використовувати щось подібне:
{[1,2,3].map(function (n) {
return ([
React.DOM.h3(...),
React.DOM.p(...)
]);
})}
З цукром JSX:
{[1,2,3].map(function (n) {
return ([
<h3></h3>, // note the comma
<p></p>
]);
})}
Вам не потрібно згладжувати отриманий масив, React зробить це за вас. Дивіться наступну скрипку http://jsfiddle.net/mEB2V/1/ . Знову ж таки: обгортання двох елементів у div / section буде, швидше за все, більш довгостроковим.