Creo que es extraño, pero no entiendo por qué useState no se establece en un nuevo valor. Al mirar la imagen, podemos ver que useSelector está actualizado y también debería actualizar useState. Estoy hablando del estado flatData . Por lo que entiendo flatData`` should get data at the first render. Then, whenever que is updated - currentColiving, se debe actualizar flatData```. Sin embargo, la imagen dice otra historia. Aquí está el código:
function FlatInformation() { const currentColiving = useSelector(selectCurrentColiving); const [imageFiles, setImageFiles] = useState([]); const [flatData, setFlatData] = useState({ name: currentColiving?.title || "", description: currentColiving?.description || "", photos: currentColiving?.imageUrl || [], amenities: currentColiving?.amenities || [], }); // Boolean whether a person can edit coliving settings or not. const flatSettingsEditMode = useSelector(selectIsInSettingsEditMode); useEffect(() => { if (currentColiving) { console.log(flatData, 'flatData-begin'); setFlatData((prevState) => ({ name: currentColiving.title, description: currentColiving.description, photos: currentColiving.imageUrl, amenities: currentColiving.amenities, })); console.log(currentColiving); console.log(flatData, 'Flatdata-end'); } }, [currentColiving]); useEffect(() => { console.log(flatData, "flatData"); }, [flatData]); return ( <div>ommited</div>) }