【发布时间】:2021-04-19 05:03:38
【问题描述】:
我有一个简单的组件,其中包含一组动物名称(牛、马、鸡)和一个按钮,当单击该按钮时,会增加数组的索引以显示下一个动物的名称。我想知道一旦我到达数组的末尾,以便我可以重定向用户。我怎样才能做到这一点?
import React, { useState } from 'react'
export default function Test() {
const [array, setArray] = useState(['cow', 'horse', 'chicken'])
const [index, setIndex] = useState(0)
const handleClick = () => {
setIndex(prevIndex => prevIndex + 1)
}
return (
<div>
<button onClick={handleClick}>Next animal</button>
<h2>{array[index]}</h2>
</div>
)
}
我曾尝试按照以下几行向回调函数添加条件语句,但它不起作用:
const handleClick = () => {
if(index < array.length){
setIndex(prevIndex => prevIndex + 1)
} else {
alert("We've reached the end of the array, redirect user!")
}
}
任何帮助将不胜感激!
【问题讨论】:
-
您是否希望在下一次单击将索引出数组时导航用户?或者当他们到达最后一个元素时?
-
是的,我想在下一次点击索引出数组时导航用户。
标签: arrays reactjs indexing use-state react-functional-component