Hãy thử nghĩ về các thẻ như là lời gọi hàm (xem tài liệu ). Sau đó, cái đầu tiên trở thành:
{[1,2,3].map(function (n) {
return React.DOM.p(...);
})}
Và cái thứ hai:
{[1,2,3].map(function (n) {
return (
React.DOM.h3(...)
React.DOM.p(...)
)
})}
Bây giờ phải rõ ràng rằng đoạn mã thứ hai không thực sự có ý nghĩa (bạn không thể trả về nhiều hơn một giá trị trong JS). Bạn phải bọc nó trong một phần tử khác (rất có thể là thứ bạn muốn, theo cách đó, bạn cũng có thể cung cấp một thuộc tính hợp lệ key
) hoặc bạn có thể sử dụng một cái gì đó như sau:
{[1,2,3].map(function (n) {
return ([
React.DOM.h3(...),
React.DOM.p(...)
]);
})}
Với đường JSX:
{[1,2,3].map(function (n) {
return ([
<h3></h3>, // note the comma
<p></p>
]);
})}
Bạn không cần phải làm phẳng mảng kết quả, React sẽ làm điều đó cho bạn. Xem fiddle http://jsfiddle.net/mEB2V/1/ sau đây . Một lần nữa: Gói hai phần tử thành một div / section rất có thể sẽ tốt hơn về lâu dài.