【发布时间】:2020-12-25 06:59:22
【问题描述】:
我有一些代码:
const moves = history.map((step, move) => {
const desc = move ?
'Go to move #' + move :
'Go to game start';
return (
<li key={move}>
<BtnMove desc={desc} onClick={() => this.jumpTo(move)} className={this.state.classNames[move]}/>
</li>
);
});
和:
var moves = []
for(var move = 0; move < history.length; move++){
const desc = move ?
'Go to move #' + move :
'Go to game start';
moves.push(<li key={move}>
<BtnMove desc={desc} onClick={() => this.jumpTo(move)} className={this.state.classNames[move]}/>
</li>)
}
当我用第一个代码调用函数 jumpTo(move) 时很好,但第二个代码会抛出错误,因为 move 大于 history .长度。 我的程序需要循环。请帮帮我!
【问题讨论】:
-
history.length的值是多少?
-
将 var 改为 let 后尝试
-
示例:history.length 为 4,则 jumpTo(move = 5)
-
我把 var 改成 let,还是一样的错误
-
我相信在for循环中将
var改为let至少会抛出另一个错误。
标签: reactjs dictionary for-loop