Necesito setState con un objeto que obtengo de una redux store . El problema es que cuando llamo a setState en mi componente me estoy quedando undefined . ¿Alguna idea sobre cómo establecer un valor predeterminado de estado con datos obtenidos?
Aquí está mi componente:
import React, { useEffect, Fragment, useState } from 'react'; import { useSelector, useDispatch } from 'react-redux'; const contactDetails = useSelector((state) => state.contactDetails) const upFields = contactDetails?.contact?.data?.fields const [contact, setContact] = useState({ fields: upFields <---- this is returning undefined.. The name is correct, but maybe setState is running too fast? }) console.log(contact) <---- this shows {fields: undefined} console.log(upFields) <---- this console.logs just fineusas useEffect() y lo activas usando el objeto
useEffect(()=>{ setContact(fetched_data) }, [fetched_data]) // <-- data array will trigger every time this data changepuede activarlo en el montaje del primer componente con
useEffect(()=>{ setContact(fetched_data) }, []) // <-- empty array will only trigger onceEntonces, terminé configurando mi estado un componente más alto y pasando los "campos superiores" al componente secundario que necesitaba este estado. Una vez en el componente secundario, ejecuté useEffect y setState con los datos que necesitaba