Estoy tratando de transformar un componente de clase en un componente funcional, pero tengo la sensación de que useState (en un componente funcional) y setState (de un componente de clase) no funcionan realmente de la misma manera.
Aquí está el código en el componente de clase que funciona bien:
// Load images for (var i = 1; i <= imagesCount; i++) { const image = await tipMyMeme.methods.images(i).call() this.setState({ images: [...this.state.images, image] }) } this.setState({ loading: false})Y aquí el mismo código en un componente funcional que no funciona:
for (var i = 1; i <= imagesCount; i++) { const image = await tipMyMeme.methods.images(i).call() setImages(images => [...images, image]); } console.log("images",images) if (images.length==imagesCount) { setLoading(false) }En console.log (imágenes), noto que la matriz permanece vacía. ¿Hay aquí una diferencia real en la forma en que funcionan una clase y un componente funcional?
Lo que estoy tratando de lograr es cargar una lista de imágenes y enviarlas como accesorios en el subcomponente. El proceso de carga está funcionando bien, por ejemplo, si coloco un registro de la consola en la imagen const, puedo ver cada imagen. Creo que lo que no funciona es el proceso de creación de una matriz de estado de imágenes con setImages.