Cobalah untuk menganggap tag sebagai panggilan fungsi (lihat dokumen ). Kemudian yang pertama menjadi:
{[1,2,3].map(function (n) {
return React.DOM.p(...);
})}
Dan yang kedua:
{[1,2,3].map(function (n) {
return (
React.DOM.h3(...)
React.DOM.p(...)
)
})}
Sekarang seharusnya sudah jelas bahwa cuplikan kedua tidak benar-benar masuk akal (Anda tidak dapat mengembalikan lebih dari satu nilai di JS). Anda harus membungkusnya dengan elemen lain (kemungkinan besar apa yang Anda inginkan, dengan begitu Anda juga dapat memberikan key
properti yang valid ), atau Anda dapat menggunakan sesuatu seperti ini:
{[1,2,3].map(function (n) {
return ([
React.DOM.h3(...),
React.DOM.p(...)
]);
})}
Dengan gula JSX:
{[1,2,3].map(function (n) {
return ([
<h3></h3>, // note the comma
<p></p>
]);
})}
Anda tidak perlu meratakan array yang dihasilkan, React akan melakukannya untuk Anda. Lihat biola berikut http://jsfiddle.net/mEB2V/1/ . Sekali lagi: Membungkus kedua elemen menjadi div / bagian kemungkinan besar akan lebih baik untuk jangka panjang.