Вы можете позвонить setState
с номера setTimeout
. Это, например, один из способов достижения анимации.
Но в вашем случае вы должны переместить свой код в useEffect
ловушку, иначе это может вызвать побочные эффекты.
И вам также нужно очистить тайм-аут при размонтировании
useEffect(() => {
return () => {
if (bounceTimeout.current !== null) {
clearTimeout(bounceTimeout.current)
}
}
}, [])