Estoy usando React.useEffect() y los resultados se actualizan tarde. Por qué es así ?
function Process(props) { const [results, setResults] = React.useState({ number: "", f: {} }); let data = props.data; //returns object from another component which changes React.useEffect(() => { return () => setResults(data) }, [data]); return ( <p>{results.number}</p> //ouputs previous number ); }; Dígame si necesita el componente que pasa props={data} al componente Process() .
Gracias
si props.data ya es un useState, no hay necesidad de usar otro useEffect y useState, React ya maneja eso y solo puede usar el valor
function Process(props) { let data = props.data; return <p> { data.number } </p> }el valor de retorno de una función useEffect es una función que se llama para limpiar lo que hace useEffect
si desea ejecutar setResults tan pronto como cambien data , hágalo en el cuerpo de la función
React.useEffect(() => { setResults(data) }, [data]);