只是面對這個有趣的事情,而渲染反應的組分與引導電網,假設我需要呈現2 col-md-6
在row
,每個<Book />
組件把col-md-6
div
塊內陣營JSX有條件的包裝器引導電網
+---------------------+
| col-md-6 | col-md-6 |
| Book | Book | <--- row
|---------------------|
| col-md-6 | col-md-6 |
| Book | Book | <--- row
+---------------------+
,並預計以形成與下面的結構,
<Row>
<Col>
<Book />
</Col>
<Col>
<Book />
</Col>
</Row>
<Row>
<Col>
<Book />
</Col>
<Col>
<Book />
</Col>
</Row>
我試圖呈現類似下面的什麼,
export default class BookList extends React.Component {
render() {
let books = [];
lodash.each(this.props.books, function (book, index) {
index % 2 === 0 ? books.push(<div className="row" key={index}>): null;
books.push(
<div className="col-md-6">
<Book />
</div>
)
index % 2 === 1 || index === this.props.books.length - 1? books.push(</div>): null
})
return (
<div className="container">
{books}
</div>
)
}
}
但是輸出是格式不正確的HTML,它看起來像JSX驗證渲染上的每個項目,而不是等待結束標記。
是否有任何方法或提示,使其正常工作?
好奇爲什麼你不是將'this.state'變爲col寬度的道具或者只是使用完成的'
'作爲你的循環返回的組件? – markthethomas(然後將寬度設置邏輯移到外面並將其注入到「loopable」組件) – markthethomas