Componentes funcionales donde usamos useState
para establecer valores iniciales para nuestra variable, si pasamos el valor inicial a través de accesorios, siempre establecerá el mismo valor inicial hasta que no haga uso del useEffect
gancho,
por ejemplo su caso esto hará su trabajo
React.useEffect(() => {
setUser(props.user);
}, [props.user])
La función pasada a useEffect se ejecutará después de que el renderizado se confirme en la pantalla.
De forma predeterminada, los efectos se ejecutan después de cada renderizado completo, pero puede optar por activarlos solo cuando ciertos valores hayan cambiado.
React.useEffect(FunctionYouWantToRunAfterEveryRender)
si pasa solo un argumento a useEffect, ejecutará este método después de cada renderizado, puede decidir cuándo activar esto FunctionYouWantToRunAfterEveryRender
pasando el segundo argumento a useEffect
React.useEffect(FunctionYouWantToRunAfterEveryRender, [props.user])
como notará, estoy pasando [props.user] ahora useEffect
solo activará esta FunctionYouWantToRunAfterEveryRender
función cuando props.user
se cambie
Espero que esto ayude a su comprensión, avíseme si se requieren mejoras gracias