【发布时间】:2017-06-15 02:25:56
【问题描述】:
我正在学习 JavaScript / React。我正在尝试为 react 网站上的井字游戏示例创建一个简单的 for 循环,但到目前为止它一直存在问题。奇怪的是,有几个地图示例,但没有 for 循环示例。
无论如何,对于以下内容:
function Row(props){
function renderSquare (i) {
return <Square key={i} value={props.squares[i]} onClick={() => props.onClick(i)} />;
}
const columns = 3;
let ss = [];
for(var a = 0, i = props.counter * columns; a < 3; a++, i++){
//Test Code
}
return (
<div className="board-row">
{ss}
</div>
);
}
当我替换“测试代码”时,这是可行的
ss.push(renderSquare(i));
但这失败了
ss.push(<Square key={i} value={props.squares[i]} onClick={() => props.onClick(i)}/>);
第二个选项失败,因为它没有创建“单独的” onClick 元素。如何使失败的示例工作?
更新 #1
Sample
更新 #2 我按照@Matthias247 的建议将 var 更改为 let ,现在它可以工作了:D
function Row(props){
function renderSquare (i) {
return <Square key={i} value={props.squares[i]} onClick={() => props.onClick(i)} />;
}
const columns = 3;
let ss = [];
for(let a = 0, i = props.counter * columns; a < columns; a++, i++){
ss.push(<Square key={i} value={props.squares[i]} onClick={() => props.onClick(i)}/>);
//ss.push(renderSquare(i));
//console.log(i);
}
return (
<div className="board-row">
{ss}
</div>
);
}
【问题讨论】:
标签: javascript reactjs for-loop