开发者问题收集

使用 Hooks 在 React onclick 中循环遍历数组

2020-06-03
1114

我有一个从 json 文件加载的对象,我希望每个项目在单击按钮时分别加载。我完成了这一点,但是主要问题是索引超出范围时,它显示

421632587

我如何制作,然后索引为 0 再次当索引到达最后一项时?我尝试通过在按钮中包含一些语句来解决它,但没有运气。 这是迄今为止代码的相关部分:

529866883
2个回答

您当前方法的问题是最高有效索引是 questions_size - 1 ,它应该像这样工作:

onClick={() => num < questions_size - 1 ? setNum(num + 1) : setNum(0)}

另一个选项是使用余数运算符:

onClick={() => setNum(num + 1 % questions_size)}
Paduado
2020-06-03

此代码仅当数据发生变化时才会运行。

useEffect(() => {
  if (num > Data.length) {
    setNum(0)
  }
},[Data])
Asad Umar
2020-06-03