【发布时间】:2021-11-21 10:01:32
【问题描述】:
我正在构建一个反应应用程序,并且我有一个对象(项目)数组,我想循环并根据索引显示各种对象。我使用 useState 和用户单击的按钮设置索引。
const [index, setIndex] = useState(0);
const itemsLength = items.length;
const nextBtn = () => {
if(index <= itemsLength) {
setIndex(index + 1);
} else {
setIndex(0)
}
}
当我 console.log 索引它从 0 开始并达到 3 就好了,但是在达到应该将索引设置为 0 的 itemsLength 之后,它返回未定义,我必须在它返回之前单击按钮 3 次为 0。
我怎样才能让它回到 0 而不返回 undefined。
我是 javascript 新手,并且已经使用了几个小时。请帮忙。
【问题讨论】:
-
if (index >= length) set(0); else set(index + 1); -
请记住,在“array”中,“index”从0开始,而“length”从1开始,当索引到达数组的最后一个元素时,长度实际上是index + 1。
标签: javascript arrays reactjs