#useState
1 messages · Page 1 of 1 (latest)
la prop tiene info de otro componente, pero el formulario sigue siendo el mismo. entonces no veo otra forma de hacer que el formulario REACTcione al cambio de la prop mas que con useEffect
pero me salta ese warnning de depencia que bueno, ya me está diciendo q estoy haciendo una guarrada y no tengo claro como debería manejarlo.
aaah entonces si lo hice bien, tengo conflictos es con el initialState xD
mi problema está en que que el userId inicia el estado xD tengo la misma cosa exepto las " "
logré solucionarlo con una función gg jajaja
@astral hollow gracias, la vd pensé q estaba haciendo macana... buna ahí con la docu 
vale, pero si ves que lo que ponen en la doc tiene un circulo rojo
significa que asi no se debe hacer
tal cual lo que tu estas haciendo con el useEffect
joda, entonces si es una guarrada xD.... ya lo cambio
me fui al padre y envié con la key .... y en efecto mejoró el render. se nota en las devtools
👍
aunq no es intuitivo la verdad...
Si, lastimosamente no hay forma sencilla de resolver esos casos, por eso de hecho a los de react les tocó crear esa doc
porque vieron que muchos resolviamos estas cosas con useEffect
al final un useEffect genera 1 render, en teoria la key crea otro componente. no entiendo como 1 cosa es mas rápida q la otra
el tema del useEffect es que se ejecuta despues de un render
entonces con use effect es ""
new User -> render
Ejecuta Efecto, que cambia estado y genera otro render
mientras la key es
cundo cambia user, cambia la key y se crea un componente de cero con estado limpio
y ya
por eso. ambas cosas deben tener el mismo rendimiento. xD
cambiar un nodo entero como puede ser mas rapido q modificar el mismo nodo
no es un tema de cambiar el nodo
de hecho modificarlo, debería ser mas sencillo q cambiarlo todo
el useEffect termina haciendo que se modifique dos veces
de todas formas recuerda que react maneja un dom virtual
por eso... igual si no pongo key, le toca render si o si. q es el primer render con el valor de la prop
si el resultado del dom virtual no cambia con respecto al dom real, este ultimo no se modifica
si no pones key, son dos renders
sin key es uno solo
en ambos casos toca hacer 2 cosas.
sin key 2 renders
con key 1 render y 1 cambio de nodo
el nodo realmente no cambia, porque el resultado en html es el mismo
cambia solo el nodo virtual, pero no el del navegador real
y eso es super rapido
mmm bueno si no lo manda al real como sabrá q es otro userId ?
son dos cosas
la key no es para los nodos html
la key es para los estados de react
si cambia la props debe mostrar 2 htmls diferentes, por entede debe o render o cambiar el nodo entero
pero la key no es una prop que afecta el html final
es una prop especial de react para tener conocimiento de los estados de los componentes
entiendo, pero si cambia la prop, cambia el estado, si cambia el estado cambia el html
no ?
si el estado se pinta o afecta el contenido html, si
que en tu caso del form de edit, es asi
es q la prop decide la vista, principal motivo por el que tocaba halar de useEffect
bueno === xD ya está. la vd no logro entenderlo, entiendo, pero a la vez no e.e
si correcto, pero debes verlo desde 2 frentes
una cosa es el resultado en html y si eso cambia, se actualizan los nodos del documento en el navegador
y otra cosa es la ejecucion de un render de react, que puede o no, involucrar actualizaciones de los nodos html
con el useEffect tienes si o si, dos renders
con el key, es solo un render
los dos hacen un solo cambio de nodos, es decir, una sola vez
pero el useEffect hace que el componente se renderize 2 veces
esa sería la diferencia