我有兩個組成部分:如何渲染一個元素(React Class)任意多次?
var kBoard = React.createClass({
getInitialState: function() {
return {numCols: 0};
},
componentDidMount: function(){
//simplified
this.setState({numCols: 3});
},
render: function() {
return(
<div className="kBoard">
I'm a board
//TODO: insert columns
</div>
);
}
});
var kColumn = React.createClass({
render: function() {
return (
<div className='kColumn'>
I'm a column
</div>
);
}
});
凡說//TODO: insert columns
,我想插入等於this.state.numCols
一些Column
組件。
我嘗試了一個簡單的for循環,但在瞭解了更多關於JSX如何編譯爲JS的信息之後,我明白了爲什麼這樣做不起作用。我覺得我應該用map
以某種方式使用,但是我還沒有把它弄清楚。
這是工作完美,但我在這說陣列中的每個孩子都應該有一個獨特的'key'道具控制檯得到一個(無關緊要?)錯誤。我試着做' '沒有任何效果。有沒有辦法通過'Array.from'將索引位置映射爲唯一鍵值?我把map函數改成了'(x,y)=> ',錯誤消失了,但是我真的無法從生成的HTML中判斷它是否工作。 –
souldeux
這不是無關緊要的。數組中的元素應該有幫助在[元素協調](https://facebook.github.io/react/docs/reconciliation.html)中作出反應的鍵,這實際上意味着 - 幫助在重新呈現更少的更新時做出反應。見編輯的答案。 –
哎呀,謝謝!這是我的第一個React項目,該鏈接看起來像我現在應該閱讀的一個。 – souldeux