Estoy tratando de hacer un clon similar a Tinder donde quiero mostrar cada 5 segundos una foto de usuario diferente, primero obtengo una matriz de imágenes únicas de las coincidencias y luego con setInterval que finalmente pude trabajar dentro del efecto Recorro la matriz de imágenes y cambio el índice activo de la imagen, sin embargo, cuando registro la imagen activa en la consola, siempre es la misma imagen ...
Esto siempre devuelve el mismo índice activo y la misma imagen activa
console.log(images[activeImageIndex]); useEffect(() => { getImagesArray(mapStore.blurredMatches); const interval = setInterval(() => { if(images.length>0) { flipAndNextImage(); } }, 5000); return () => clearInterval(interval); }, []); const getImagesArray = (users) => { let copy = []; for(var i=0;i<users.length;i++) { copy.push(users[i].images[0]); } setImages(copy); console.log('Setting images array',images); }; const flipAndNextImage= () => { console.log(images,'images'); if(activeImageIndex == images.length-1) { setActiveImageIndex(0); console.log(images[activeImageIndex]); } else { setActiveImageIndex(activeImageIndex+1); console.log(images[activeImageIndex]); } };Creo que esto se debe a que actualiza su activeImageIndex antes de iniciar sesión en el estado