const [incrementCount, setIncrementCount] = useState(1);
const [translationX, setTranslationX] = useState([...INIT_TRANSLATION_X]);
const incrementTranslationX = useCallback(() => {
if (incrementCount && incrementCount % 2 === 0) { //* the condition
setIncrementCount(0);
setTranslationX([...INIT_TRANSLATION_X]);
} else {
setIncrementCount((prev) => prev + 1);
setTranslationX((prev) => [prev[0] + INCREMENT, prev[1] + INCREMENT]);
}
}, [incrementCount, translationX]);
//loop interval
useEffect(() => {
const interval = setInterval(() => {
incrementTranslationX();
}, INTERVAL);
return () => {
clearInterval(interval);
console.log("DESTROYED INTERVAL");
};
}, [incrementTranslationX]); //! cannot update (the condition) without this
const [incrementCount, setIncrementCount] = useState(1);
const [translationX, setTranslationX] = useState([...INIT_TRANSLATION_X]);
const incrementTranslationX = useCallback(() => {
if (incrementCount && incrementCount % 2 === 0) { //* the condition
setIncrementCount(0);
setTranslationX([...INIT_TRANSLATION_X]);
} else {
setIncrementCount((prev) => prev + 1);
setTranslationX((prev) => [prev[0] + INCREMENT, prev[1] + INCREMENT]);
}
}, [incrementCount, translationX]);
//loop interval
useEffect(() => {
const interval = setInterval(() => {
incrementTranslationX();
}, INTERVAL);
return () => {
clearInterval(interval);
console.log("DESTROYED INTERVAL");
};
}, [incrementTranslationX]); //! cannot update (the condition) without this