Versuchen Sie, sich die Tags als Funktionsaufrufe vorzustellen (siehe Dokumente ). Dann wird der erste:
{[1,2,3].map(function (n) {
return React.DOM.p(...);
})}
Und der zweite:
{[1,2,3].map(function (n) {
return (
React.DOM.h3(...)
React.DOM.p(...)
)
})}
Es sollte jetzt klar sein, dass das zweite Snippet nicht wirklich Sinn macht (Sie können in JS nicht mehr als einen Wert zurückgeben). Sie müssen es entweder in ein anderes Element einschließen (höchstwahrscheinlich das, was Sie möchten, auf diese Weise können Sie auch eine gültige keyEigenschaft bereitstellen ), oder Sie können Folgendes verwenden:
{[1,2,3].map(function (n) {
return ([
React.DOM.h3(...),
React.DOM.p(...)
]);
})}
Mit JSX-Zucker:
{[1,2,3].map(function (n) {
return ([
<h3></h3>, // note the comma
<p></p>
]);
})}
Sie müssen das resultierende Array nicht reduzieren, React erledigt das für Sie. Siehe die folgende Geige http://jsfiddle.net/mEB2V/1/ . Nochmals: Das Einwickeln der beiden Elemente in einen Div / Abschnitt ist auf lange Sicht höchstwahrscheinlich besser.