Si llamás el console log con el valor del state en el EventHandler, ese valor del state no va a estar actualizado, te va a mostrar siempre el valor anterior porque se ejecuta antes del render que actualiza el valor del estado, para eso existe el useEffect, para manejar EFECTOS SECUNDARIOS de tus handlers principales. Pésimo ejemplo para los nuevos desarrolladores que están aprendiendo estos conceptos.
La verdad que no lo creo así, si quieres utilizar el valor del state, que puede ser que lo quieras cambiar y demás, eso no cambia y muestra el anterior por el tema del batching. El useEffect, y esto lo dicen los creadores no yo, es para sincronizar tu componente con entidades externas y NO para depender de un valor del estado para actualizar otro. Si haces eso puedes crear problemáticas de render que no se quieren. También desde la mano de los creadores, se recomienda utilizar directamente los event handlers o los lugares donde se realiza el cambio del valor del state del cual dependes para actualizar el estado de otro y si este valor inicial es necesario para actualizar el segundo, puedes pasar un callBack para utilizar el valor actual ya que lo guarda en el queue de eventos a llamar una vez terminado el batching. Espero que te haya servido !
@@GentlemanProgramming Coincido con esta visión del uso de useEffect totalmente, solo debe ser usado para trabajar con entidades externas y no depender del valor de un estado para modificar otro.
@@GentlemanProgramming saludos explicame esta parte? porque usesate es asincrono entonces si hago lo que dices no me muestra el valor actual. como se soluciona?
@@GentlemanProgramming Lo que mencionas aquí no lo hiciste en el código y precisamente fue esa parte la que faltó, pasar el callback habría sido ideal, esto para que el ejemplo quedara óptimo, sin embargo, me hizo consultar más para ver el porqué el valor del estado era el del anterior y no el nuevo. Allí aprendí más. Considero en este punto que redoksok tiene razón, pudiste incluirlo en el video y no en el comentario. Sin embargo, comprendo el punto, el porqué no se debería usar el useEffect para actualizar un valor así.
yo lo vi en buscadores de productors en ecommerce, cuando cambiaba un caracter de text input cambiaba los paraametros de la buscqueda, gracias a un useEffect(bla bla,[textoQueCambia ]), ahora que me lo decis es como martillar con una tenaza
No es el tema de hacer el fetch, es más eso está bien, el problema es cuando hacemos fetch dependiendo de alguna variable del estado. Para esos casos NO HAY QUE USAR useEffect ! useEffect es un hook pensado para comunicarse y sincronizarse con el mundo exterior, hacer fetch es una de esas comunicaciones, lo que sí también existen librerias MUY top para hacerlo de forma más interesante como por ejemplo SWR, React Query, etc
Ya lo tenía 🤓 Para qué sirve useRef, useMemo, useCallback, diferencia con useState ? NO SIEMPRE HAY QUE USARLOS ! th-cam.com/video/m-w902RrJXA/w-d-xo.html
🧐Contame, ¿para qué usás #useEffect en #REACT?
Solo respuestas incorrectas.🤪
para darle efectos de css
para debugging xd
Para detectar si ya pagaron el sueldo 😅
Apenas descubrí que Luigi sabe react y explica bastante bien .
Si llamás el console log con el valor del state en el EventHandler, ese valor del state no va a estar actualizado, te va a mostrar siempre el valor anterior porque se ejecuta antes del render que actualiza el valor del estado, para eso existe el useEffect, para manejar EFECTOS SECUNDARIOS de tus handlers principales.
Pésimo ejemplo para los nuevos desarrolladores que están aprendiendo estos conceptos.
La verdad que no lo creo así, si quieres utilizar el valor del state, que puede ser que lo quieras cambiar y demás, eso no cambia y muestra el anterior por el tema del batching.
El useEffect, y esto lo dicen los creadores no yo, es para sincronizar tu componente con entidades externas y NO para depender de un valor del estado para actualizar otro. Si haces eso puedes crear problemáticas de render que no se quieren.
También desde la mano de los creadores, se recomienda utilizar directamente los event handlers o los lugares donde se realiza el cambio del valor del state del cual dependes para actualizar el estado de otro y si este valor inicial es necesario para actualizar el segundo, puedes pasar un callBack para utilizar el valor actual ya que lo guarda en el queue de eventos a llamar una vez terminado el batching.
Espero que te haya servido !
@@GentlemanProgramming Coincido con esta visión del uso de useEffect totalmente, solo debe ser usado para trabajar con entidades externas y no depender del valor de un estado para modificar otro.
@@redoksok eso mismo ! Concuerdo 10000%
@@GentlemanProgramming saludos explicame esta parte? porque usesate es asincrono entonces si hago lo que dices no me muestra el valor actual. como se soluciona?
@@GentlemanProgramming Lo que mencionas aquí no lo hiciste en el código y precisamente fue esa parte la que faltó, pasar el callback habría sido ideal, esto para que el ejemplo quedara óptimo, sin embargo, me hizo consultar más para ver el porqué el valor del estado era el del anterior y no el nuevo. Allí aprendí más. Considero en este punto que redoksok tiene razón, pudiste incluirlo en el video y no en el comentario. Sin embargo, comprendo el punto, el porqué no se debería usar el useEffect para actualizar un valor así.
En el llamado de la función podría que el log muestre un valor diferente al del state actual, el setState no es sincrono
Genial! Muy buen consejo! De hecho la documentación de react menciona que plantean el useEffect para sincronizar un componente con un sistema externo.
yo lo vi en buscadores de productors en ecommerce, cuando cambiaba un caracter de text input cambiaba los paraametros de la buscqueda, gracias a un useEffect(bla bla,[textoQueCambia ]), ahora que me lo decis es como martillar con una tenaza
Gracias a Dios lo aprendi bien desde el principio. poco uso el useeffect :D
Gracias a ti he aprendido muchas cosas de reactjs ❤
se tenia que decirrrrr
Me agarré solo las orejas jajja
brutal , sin palabras
soy medio lelo, para q sirve el useEffect entonces? para hacer fetching d datos nada más?
No no, para todo aquella acción que implique sincronización con una fuente externa. Esto puede ser un endpoint, un servicio, otro componente, etc
@@GentlemanProgramming aaahhh okok bárbaro, gracias!
Mucha gente no lee la documentación, por eso lo implementan mal
Un fetch de otra manera q no sea en un useEffect de que manera es?
No es el tema de hacer el fetch, es más eso está bien, el problema es cuando hacemos fetch dependiendo de alguna variable del estado. Para esos casos NO HAY QUE USAR useEffect !
useEffect es un hook pensado para comunicarse y sincronizarse con el mundo exterior, hacer fetch es una de esas comunicaciones, lo que sí también existen librerias MUY top para hacerlo de forma más interesante como por ejemplo SWR, React Query, etc
@@GentlemanProgramming genial, me resolviste la duda!
Hola man! grac por la info.!
pd: cual es el snippets que mencionas?
1:20 muy importante :D
excelente video!
No te enojéeeeeeee, te va a hacer malll
Jajajajjajaja es un chiste ! Es extracto de interacción que tuve con un seguidor recurrente con el que tengo confianza jajaja
LaPosta ✊🏼
ese bigote es real?
UseMemo porfa saludo desde san Juan ar
Ya lo tenía 🤓
Para qué sirve useRef, useMemo, useCallback, diferencia con useState ? NO SIEMPRE HAY QUE USARLOS !
th-cam.com/video/m-w902RrJXA/w-d-xo.html
El yusifect
😂
lo que tratas de decir es que seas un programador recursivo y te dejes de pendejadas
malisimo tu chiste de los dedos con los junior, por mas senior que seas no esta bueno desmerecer asi a un junior
@@tomaswilliams900 lol 😂 se ve que no me conoces