我有两个组成部分:如何渲染一个元素(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