¿Qué es y cómo funciona useEffect? Hooks de React

midulive
30 May 202310:37

Summary

TLDREste video aborda los hooks esenciales en React: useState y useEffect. Se explica cómo useState permite manejar el estado de un componente, mientras que useEffect ejecuta código arbitrario cuando el componente se monta o cuando cambian sus dependencias. A través de ejemplos prácticos, se demuestra cómo utilizar useEffect para realizar tareas como guardar datos, realizar peticiones o suscribirse a eventos del DOM. Se destaca la potencia de useEffect para ejecutar efectos secundarios en respuesta a cambios específicos en el componente, lo que permite un control preciso sobre el ciclo de vida de la aplicación.

Takeaways

  • 😃 El hook useState permite tener un estado en el componente React y al cambiar, se vuelve a renderizar el componente reflejando los cambios en la interfaz.
  • 🤔 useEffect es un hook importante que permite ejecutar código arbitrario cuando el componente se monta en el DOM y cada vez que cambian las dependencias especificadas.
  • 📝 useEffect recibe dos parámetros: una función con el código a ejecutar y una lista de dependencias (opcional).
  • ⏱️ Si no se pasa la lista de dependencias, el código dentro de useEffect se ejecutará cada vez que se renderice el componente.
  • 🎯 Si se pasa una lista de dependencias vacía ([]), el código dentro de useEffect solo se ejecutará una vez cuando se monta el componente.
  • 📈 Si se especifican dependencias, el código dentro de useEffect se ejecutará cuando se montan y cada vez que cambien esas dependencias.
  • 💾 useEffect puede ser utilizado para guardar datos en una base de datos, realizar peticiones, guardar información en el localStorage, etc.
  • 🔄 useEffect puede ser útil para suscribirse a eventos del DOM, como el resize de la pantalla o el movimiento del mouse.
  • 🧑‍💻 Múltiples efectos se pueden tener en un componente utilizando varios useEffect.
  • ⚠️ Al montar un componente, los efectos se ejecutan en el orden en que fueron definidos.

Q & A

  • ¿Qué es un Hook en React?

    -Un Hook en React es una función especial que te permite 'enganchar' (hook) el estado de React y el ciclo de vida desde componentes funcionales. Antes, solo los componentes de clase podían manejar el estado y el ciclo de vida, pero los Hooks permiten utilizar estas características en componentes funcionales.

  • ¿Cuáles son los dos Hooks más importantes en React?

    -Los dos Hooks más importantes en React son useState y useEffect. useState permite agregar estado a componentes funcionales, mientras que useEffect permite ejecutar efectos secundarios en componentes funcionales basados en cambios en el estado o las props.

  • ¿Qué hace el Hook useEffect?

    -El Hook useEffect en React permite ejecutar código arbitrario cuando el componente se monta en el DOM y cada vez que cambian las dependencias especificadas. Es un Hook que maneja los efectos secundarios en componentes funcionales.

  • ¿Cómo se especifican las dependencias en useEffect?

    -Las dependencias en useEffect se especifican pasando un arreglo como segundo argumento a la función useEffect. Este arreglo contiene las variables de las que depende el efecto, y cada vez que alguna de estas variables cambie, se volverá a ejecutar el código dentro de useEffect.

  • ¿Qué sucede si no se pasan dependencias a useEffect?

    -Si no se pasan dependencias a useEffect, el código dentro de useEffect se ejecutará en cada renderizado del componente. Esto puede causar problemas de rendimiento y bucles infinitos si no se maneja correctamente.

  • ¿Para qué se puede utilizar useEffect?

    -useEffect se puede utilizar para una variedad de casos de uso, como obtener datos de una API, suscribirse a eventos del DOM, guardar datos en el almacenamiento local, registrar efectos de limpieza (cleanup) cuando el componente se desmonta, y más.

  • ¿Qué es el código arbitrario que se puede ejecutar en useEffect?

    -El código arbitrario que se puede ejecutar en useEffect es cualquier código JavaScript válido que se desee ejecutar cuando el componente se monta o cuando cambien las dependencias especificadas. Este código puede incluir llamadas a APIs, manipulación del DOM, registro de eventos, etc.

  • ¿Cómo se puede evitar que useEffect se ejecute en el primer renderizado?

    -Para evitar que useEffect se ejecute en el primer renderizado, se puede pasar un arreglo vacío como segundo argumento a useEffect. De esta manera, el código dentro de useEffect solo se ejecutará cuando cambien las dependencias especificadas en el arreglo.

  • ¿Qué es el efecto de limpieza (cleanup effect) en useEffect?

    -El efecto de limpieza en useEffect es una función que se puede retornar desde dentro de useEffect. Esta función se ejecutará antes de que el componente se desmonte o antes de que se vuelva a ejecutar el efecto debido a un cambio en las dependencias. Se utiliza para limpiar recursos, cancelar suscripciones, etc.

  • ¿Se pueden tener múltiples instancias de useEffect en un solo componente?

    -Sí, se pueden tener múltiples instancias de useEffect en un solo componente. Cada instancia de useEffect se ejecutará independientemente según sus dependencias especificadas, lo que permite separar los efectos secundarios por preocupación.

Outlines

00:00

🧮 ¿Qué es el Hook useEffect y su importancia?

Este párrafo explica qué es el Hook useEffect en React, un Hook que permite ejecutar código arbitrario cuando el componente se monta en el DOM y cada vez que cambian las dependencias especificadas. También se menciona que useEffect es el segundo Hook más importante después de useState. Se describe el contrato de useEffect, donde se define una función de callback que contiene el código a ejecutar y opcionalmente una lista de dependencias. Si no se proporciona la lista de dependencias, el código se ejecutará en cada renderizado del componente.

05:02

🔄 Comportamiento de useEffect y manejo de dependencias

Esta sección profundiza en el comportamiento de useEffect y explica cómo manejar las dependencias. Si no se proporcionan dependencias, el efecto se ejecutará en cada renderizado del componente. Si se pasa un arreglo vacío como dependencia, el efecto se ejecutará solo en el montaje inicial del componente. También se puede especificar una lista de dependencias, en cuyo caso el efecto se ejecutará cuando se monten por primera vez y cada vez que cambien esas dependencias. Se proporciona un ejemplo práctico del juego Tic Tac Toe donde se observa el comportamiento de useEffect al cambiar el estado del ganador. Además, se mencionan algunos casos de uso de useEffect, como enviar datos a una base de datos, realizar un seguimiento, recuperar información del almacenamiento local y guardar el estado del juego.

10:03

🤔 Aclaraciones y próximos pasos

En este párrafo, se aclara que solo se puede tener un useEffect, aunque se pueden tener múltiples efectos. También se menciona que se explicará por qué al principio se ejecuta dos veces. Finalmente, se indica que se creará un tercer proyecto para ver la potencia de useEffect y su capacidad para suscribirse a eventos del DOM, como el redimensionamiento de la pantalla o el seguimiento del mouse.

Mindmap

Keywords

💡Hook

Un Hook es una función especial en React que permite a los componentes funcionales acceder a características de ciclo de vida y estado. En el script, se menciona que 'useState' y 'useEffect' son Hooks importantes que permiten tener estado en un componente y ejecutar código cuando el componente se monta o cuando cambian ciertas dependencias respectivamente.

💡useState

Es un Hook en React que permite agregar estado a un componente funcional. Devuelve un array con dos elementos: el valor actual del estado y una función para actualizarlo. En el script, se explica que 'useState' permite tener un estado en el componente que, al cambiar, vuelve a renderizar el componente para reflejar los cambios en la interfaz.

💡useEffect

Es un Hook en React que permite ejecutar código cuando el componente se monta, desmonta o actualiza. Recibe dos parámetros: una función que contiene el código a ejecutar y, opcionalmente, un array de dependencias. En el script, se explica que 'useEffect' permite ejecutar código arbitrario cuando el componente se monta y cada vez que cambian las dependencias que se especifiquen.

💡Dependencias

En el contexto de 'useEffect', las dependencias son valores que, al cambiar, hacen que el efecto se vuelva a ejecutar. Son los elementos que se pasan como segundo argumento al Hook 'useEffect' en forma de array. En el script, se menciona que 'useEffect' se ejecuta cuando se monta el componente y cada vez que las dependencias que le digamos cambien.

💡Renderizar

En React, renderizar es el proceso de generar la representación visual de un componente en el DOM. Cuando el estado o las props de un componente cambian, React vuelve a renderizar el componente para reflejar los cambios en la interfaz de usuario. En el script, se explica que cuando el estado cambia, el componente se vuelve a renderizar para mostrar los cambios.

💡Componente

Un componente en React es una pieza de código reutilizable que encapsula la lógica y la presentación de una parte de la interfaz de usuario. Los componentes pueden ser componentes funcionales o de clase. En el script, se habla de componentes y cómo los Hooks, como 'useState' y 'useEffect', permiten agregar funcionalidad a estos componentes.

💡Montaje

En el ciclo de vida de un componente en React, el montaje se refiere a la fase en la que el componente se crea e inserta en el DOM. 'useEffect' con un array de dependencias vacío se ejecuta solo una vez durante esta fase de montaje. En el script, se explica que 'useEffect' se ejecuta cuando el componente se monta en el DOM.

💡Efecto

En el contexto de React, un efecto se refiere a una operación que se ejecuta después de que un componente se renderiza. Los efectos pueden ser, por ejemplo, suscribirse a un evento, actualizar el DOM o realizar una solicitud a una API. El Hook 'useEffect' se utiliza para administrar estos efectos en componentes funcionales.

💡Suscripción

Suscribirse a un evento o fuente de datos significa registrar una función que se ejecutará cada vez que ocurra ese evento o cambien los datos. En el script, se menciona que 'useEffect' se puede usar para suscribirse a eventos, como cuando cambia el tamaño de la pantalla o se mueve el mouse.

💡Código arbitrario

En el contexto del script, 'código arbitrario' se refiere a cualquier código que el desarrollador quiera ejecutar dentro del efecto proporcionado a 'useEffect'. Es decir, no hay restricciones sobre el tipo de código que se puede incluir en el efecto, siempre que sea código JavaScript válido.

Highlights

El uso del Hook useState nos permite tener un estado en nuestro componente, que al cambiar vuelve a renderizar el componente para reflejar los cambios en la interfaz.

El Hook useEffect es el segundo Hook más importante en React, y nos permite ejecutar código arbitrario cuando el componente se monta en el DOM y cada vez que cambian las dependencias que le indiquemos.

useEffect ejecuta el código que le pasemos como primer argumento, y el segundo argumento opcional es un array de dependencias que determina cuándo se debe volver a ejecutar el código.

Si no se pasa un segundo argumento (array de dependencias), useEffect se ejecutará cada vez que se renderice el componente.

Si se pasa un array vacío como segundo argumento, useEffect se ejecutará solo en la primera renderización.

Podemos pasar un array con valores específicos como dependencias, y useEffect se ejecutará cuando se renderice el componente por primera vez y cuando cambien esos valores.

Un uso común de useEffect es ejecutar efectos secundarios cuando cambien ciertos datos, como enviar trazas, guardar datos en una base de datos o recuperar información del almacenamiento local.

Podemos usar useEffect para guardar la partida cada vez que cambie el turno o el tablero de juego, en lugar de hacerlo de forma imperativa.

useEffect nos permite suscribirnos a eventos del DOM, como cambios en el tamaño de la ventana o movimientos del mouse.

Se explicará por qué useEffect se ejecuta dos veces al principio en algunos casos.

Se puede tener más de un useEffect en un componente.

Se realizará un proyecto práctico para ver la potencia de useEffect y los problemas que pueden surgir.

El código arbitrario que se pasa a useEffect es el código que tú quieras ejecutar, no un código establecido por React.

useEffect se utiliza en el cuerpo del componente y se importa de React al igual que useState.

El Hook useEffect se puede ver como una suscripción a eventos, ya que se ejecuta cuando ocurren ciertos cambios especificados en las dependencias.

Transcripts

play00:01

hasta ahora hemos visto un Hook que es

play00:04

el Us State el Us State nos permite

play00:06

tener un estado en nuestro componente un

play00:09

estado que al cambiar vuelve a

play00:11

renderizar nuestro componente para

play00:12

reflejar en la interfaz los cambios y el

play00:15

use State es súper importante pero en

play00:17

realidad que hay un montón de hooks y

play00:19

cada Hook digamos que tiene un objetivo

play00:21

distinto que nos va a permitir pues

play00:24

hacer que nuestra aplicación se comporte

play00:26

de forma diferente y el segundo Hook más

play00:30

importante que tiene reac es Us effect

play00:33

qué es lo que hace Joseph bueno

play00:35

simplemente y esto grábatelo

play00:38

Joseph es un Hook que nos permite

play00:41

ejecutar código arbitrario cuando el

play00:44

componente se monta en el dom y cada vez

play00:47

que cambian las dependencias que

play00:49

nosotros le digamos eso es lo que es

play00:52

usefech

play00:53

luego puedes tener explicaciones más

play00:55

grandes pero esa es la explicación corta

play00:57

y ligera de lo que es el Hook Us effect

play01:01

un Hook que nos permite ejecutar código

play01:03

arbitrario cuando se monta el componente

play01:05

y cada vez que las dependencias y ahora

play01:09

entenderé ahora verás Lo que son las

play01:11

dependencias Cómo funcionan dependencias

play01:12

No te preocupes las dependencias que

play01:14

nosotros le digamos cada vez que cambien

play01:16

le digamos Oye cuando esto cambie Quiero

play01:19

que vuelvas a ejecutar este código vale

play01:20

eso es lo que sería un Us effect Cómo es

play01:24

el Hulk antes vamos a hacer un proyecto

play01:26

práctico para que lo veas muy claro y

play01:28

vamos a ver algunos problemas que nos

play01:29

vamos a ir encontrando con el hud de Us

play01:32

effects para que veas cómo funciona Qué

play01:33

problemas puedes tener pero lo más

play01:36

importante digamos que es su contrato no

play01:39

para que lo veamos Imagínate que tenemos

play01:42

aquí un componente ahora te pasa ahora

play01:44

pongo la pantalla que no la he puesto

play01:46

todavía vale vamos a poner la pantalla

play01:49

Pro vale Imagínate que es código

play01:52

arbitrario código arbitrario que el

play01:54

código que a ti te dé la gana eso es lo

play01:55

que significa código arbitrario

play01:56

arbitrario es porque es el código que tú

play01:58

quieras sabes es el código que te dé la

play02:00

gana la gana o sea no es un código que

play02:02

está establecido por ría que es el

play02:05

código que tú quieras el que a ti te dé

play02:06

la gana Vale entonces

play02:08

imagínate tenemos un componente ya hemos

play02:11

visto que para crear un estado tenemos

play02:13

que llamar use State no y le importamos

play02:15

de Us State y el Us State pues

play02:17

tendríamos el valor inicial y aquí

play02:19

tendríamos el valor y la forma de

play02:21

actualizar el valor del Estado vale esto

play02:24

sería el primer Hook que hemos visto

play02:26

cómo es el contrato del US effect el Us

play02:30

effect se utiliza en el cuerpo de

play02:32

nuestro componente de esta forma y

play02:35

tenemos que importarlo igual que el Us

play02:37

State de react le importaríamos así y

play02:40

aquí esto el Hook como todos los hooks

play02:43

son funciones y esta función recibe dos

play02:47

parámetros uno que sería el código para

play02:50

ejecutar call to exetu execute y aquí

play02:53

tendríamos la lista list of dependientes

play02:57

vale serían estos dos parámetros Así que

play03:01

el Call to execute ya sabemos que va a

play03:03

ser una función aquí tendríamos una

play03:06

función y aquí el código

play03:09

el código a ejecutar vale ya sabemos que

play03:12

como mínimo esto como mínimo como mínimo

play03:15

se ejecutará una vez como mínimo siempre

play03:19

el Us effect se va a ejecutar una vez

play03:21

por qué Porque cuando se monta nuestro

play03:23

componente se ejecuta una vez vale ahora

play03:25

bien se puede ejecutar más veces se

play03:28

puede ejecutar más veces en la lista

play03:29

dependencias aquí lo que se le tiene que

play03:31

pasar es una red pero ojo este segundo

play03:35

parámetro es opcional quiere decir que

play03:39

puedes no pasárselo y si no se lo pasas

play03:41

lo que quiere decir es que este código

play03:43

se va a ejecutar no una vez se va a

play03:46

ejecutar cada vez que se renderice el

play03:49

componente Y esto es será la primera vez

play03:51

la segunda la tercera cada vez que se

play03:53

renderiza el componente esto se va a

play03:55

ejecutar esto de aquí dentro entonces

play03:56

veremos que en el conson lock vamos a

play03:58

tener el código a ejecutar el código a

play04:01

ejecutar o sea esto se va a ejecutar

play04:02

cada vez que se renderice nuestro

play04:04

componente y esto lo podemos ver de

play04:06

forma muy sencilla Porque si vamos otra

play04:08

vez nuestro proyecto que acabamos de

play04:10

hacer por ejemplo este de del Tic Tac

play04:13

toe vamos a poner aquí un Us effect

play04:15

simple y sencillo vamos a poner un Us

play04:18

effect vamos a traernos el Us effect y

play04:21

vamos a hacer aquí Us effect vale voy a

play04:24

poner el Us effect donde hemos dicho que

play04:26

tiene el josep en el cuerpo no y aquí

play04:29

tenemos que ponerle el código que

play04:30

queremos ejecutar Aquí vamos a poner Us

play04:33

effect no le vamos a pasar el segundo

play04:36

parámetro por ahora que tendría que ser

play04:38

una rey pero es opcional por lo tanto

play04:40

este usa effects debería ejecutarse cada

play04:42

vez que se renderiza nuestro componente

play04:44

Vale pues vamos a levantar Aquí vamos a

play04:47

reiniciar Bueno claro que tiene la

play04:50

partida guardada vamos a reiniciar voy a

play04:52

inspeccionar y vamos a ver vale ya veis

play04:55

que el Us effects ha ejecutado dos veces

play04:57

Bueno vamos a jugar a ver qué pasa le

play04:59

doy aquí una vez se ha ejecutado otra

play05:01

vez y Us effect otra vez Us effect Us

play05:04

effect Por qué pasa esto porque cada vez

play05:06

que actualizamos el estado esto

play05:08

renderiza nuestro componente y como se

play05:10

vuelva a renderizar nuestro componente

play05:11

como este Us effect le hemos dicho que

play05:13

no tiene ninguna dependencia de nada

play05:15

esto lo que hace es que se está

play05:17

ejecutando cada vez que se renderiza

play05:19

nuestro componente cada vez se realiza

play05:20

nuestro componente lo tenemos aquí luego

play05:22

te explicaré por qué nada me reiniciar

play05:25

tenemos dos y no Uno deberíamos tener

play05:27

solo uno pero tenemos dos luego te

play05:29

explico por qué pasa esto pero lo

play05:31

importante y de que en cuenta ahora es

play05:32

que cada vez que se renderiza nuestro

play05:34

componente puedes ver que tenemos un

play05:35

nuevo Us effect ahora bien Imagínate que

play05:38

tú solo quieres solo quieres ejecutar el

play05:40

efecto una vez o sea solo quieres

play05:42

ejecutar código cuando se monta por

play05:45

primera vez el componente cómo lo

play05:47

podemos hacer aquí irían las

play05:49

dependencias Estos son valores que

play05:52

nosotros queremos decir cada vez que

play05:53

cambie este valor quiero ejecutar este

play05:56

código de aquí

play05:57

como mínimo

play05:59

se ejecuta una vez como hemos visto no

play06:02

cuando se monta el componente vale si le

play06:05

pasamos una raíz vacío lo que va a hacer

play06:08

nuestro Us effect es ejecutar Solo

play06:10

cuando se renderiza por primera vez el

play06:13

componente Qué quiere decir esto Pues

play06:15

que por más veces Ves lo tenemos dos

play06:17

veces luego te explico por qué nada más

play06:19

entrar aparece dos veces no te preocupes

play06:21

es una tontería muy fácil de entender

play06:23

pero imagínate que aquí solo sale una

play06:25

vez ahora por más que yo estoy volviendo

play06:28

a renderizar como le he dicho que Oye no

play06:31

te tienes que fijar en ninguna cosa no

play06:33

hay ninguna dependencia simplemente Solo

play06:36

cuando te renderiza por primera vez pues

play06:38

ahí es cuando tienes que renderizar por

play06:40

eso vemos que esto no vuelve a

play06:42

ejecutarse el efecto OK Pero como vamos

play06:45

a ver más adelante Aquí podríamos

play06:46

ponerle una lista dependencias por

play06:48

ejemplo quiero que te ejecutes cada vez

play06:50

que ha cambiado el turno o quiero que te

play06:52

ejecutes cada vez que cambia el Bol O

play06:54

cada vez que cambia el Board o el turno

play06:55

o cada vez que cambia cuando hay un

play06:58

ganador de esta forma este efecto se va

play07:00

a ejecutar ahora ya sabemos que se va a

play07:02

ejecutar el Us effects se ejecuta la

play07:05

primera vez que se renderiza y cuando

play07:06

cambia el Winner y lo podemos ver

play07:08

fácilmente si vamos aquí ves se ha

play07:11

ejecutado por primera vez

play07:13

si yo me empiezo a jugar y ahora le doy

play07:16

aquí otra vez se ha ejecutado Joseph

play07:19

porque hemos dicho Oye tiene en cuenta

play07:21

que quiero que esto se ejecute como

play07:23

mínimo cuando se renderiza por primera

play07:25

vez el componente y además cada vez que

play07:28

cambie el ganador Como cada vez que gana

play07:31

cambia el ganador es Cuando gana a

play07:33

alguien y cuando también empezamos de

play07:34

nuevo si yo lo voy a empezar de nuevo

play07:35

vas a ver aquí que también pone otra vez

play07:37

Us effect por qué porque hemos reseteado

play07:41

Ves Ahora ponen dos antes ponían uno

play07:42

eran dos Porque ha cambiado el ganador

play07:44

yo puedo seguir jugando y ahora Plim un

play07:47

3 y le doy aquí pin un 4 se ha vuelto a

play07:50

ejecutar porque hemos cambiado le hemos

play07:51

dicho Oye tengo una dependencia Y es que

play07:54

cada vez que cambie el valor de Winner

play07:56

tienes que ejecutar este código y tú

play07:58

dirás y esto para qué a ver para un

play08:02

montón de cosas siempre vamos a querer

play08:04

en react ejecutar un efecto es como le

play08:07

vamos a llamar ejecutar un efecto

play08:09

queremos ejecutar efectos cuando cambie

play08:11

cierta información en react por ejemplo

play08:13

si tenemos un estado el de Winner y

play08:15

queremos enviar una traza guardarlo en

play08:18

una base de datos por ejemplo queremos

play08:19

ganar guardar en la base de datos Quién

play08:21

ha sido el ganador de la partida

play08:22

Imagínate que tienes una partida

play08:23

multiplayer Oye pues ha ganado este en

play08:26

el Us effects cada cuando cambie el

play08:28

Winner diremos a Pues voy a enviar una

play08:30

petición a una base de datos para

play08:32

decirle que ha ganado este o también

play08:34

nada más renderizar nuestro componente

play08:36

para hacer una petición de datos O

play08:38

también para hacer un tracking o para

play08:40

recuperar información del local storage

play08:42

también podríamos decir Oye cada vez que

play08:44

cambie el Board voy a guardar esta

play08:47

información y fíjate en esto Esto es muy

play08:49

interesante porque qué hemos hecho antes

play08:51

os acordáis donde hemos cambiado dónde

play08:54

hemos guardado el save game to storage

play08:55

esto lo hemos hecho lo hemos hecho de

play08:58

forma imperativa porque realmente hemos

play09:01

dicho cuando hace esto hace esto no sé

play09:04

qué vale pero es que cuando queremos que

play09:06

se guarde la partida queremos que se

play09:09

guarde la partida cuando hay un nuevo

play09:11

turno por lo tanto una cosa que

play09:13

podríamos hacer es decir ostras pues

play09:15

queremos que guarde cambie la partida

play09:17

cada vez que tenemos un nuevo turno o

play09:20

tenemos un nuevo Board vamos a decirle

play09:22

que cambie Que guarde la partida

play09:25

podríamos hacer esto guardar un efecto

play09:27

de que cada vez que cambie el turno o el

play09:29

Board Que guarde la partida esto es una

play09:32

cosa que podríamos hacer no guardar la

play09:33

partida cada vez que esté cambiando cada

play09:36

vez que cambie esto guarda la partida es

play09:38

lo que le estamos diciendo es como si

play09:40

nos estuviéramos suscribiendo a un

play09:41

evento vale muy bien esto sería un

play09:44

ejemplo pero vamos a hacer un proyectito

play09:45

muy interesante muy simple pero que con

play09:48

un efecto vas a ver la potencia que

play09:50

tiene y por qué además es interesante no

play09:52

solo para lo que hemos visto sino

play09:54

también incluso para suscribirte a

play09:56

eventos que son del dom como cuando

play09:58

quieres ver si se está haciendo un

play10:00

resaze de la pantalla o para seguir una

play10:03

un Mouse y tal Y ahora te explicaré

play10:06

también por qué Por qué haciendo esto

play10:09

por qué haciendo esto se ejecuta dos

play10:11

veces al principio vale así que voy a

play10:14

guardar los cambios

play10:16

extras extract files to save to storage

play10:21

vale sincronizamos los cambios No te

play10:24

preocupes solo se puede tener un Us

play10:26

effects No te preocupes que eso también

play10:27

lo vamos a explicar y no se puede tener

play10:29

un se pueden tener más efectos

play10:31

obviamente así que no te preocupes que

play10:34

lo explicaremos venga vamos a crear

play10:35

nuestro tercer

Rate This

5.0 / 5 (0 votes)

Étiquettes Connexes
ReactHooksuseEffectuseStateProgramaciónJavaScriptTutorialAplicaciones WebDesarrollo Front-endRenderizado Condicional
Besoin d'un résumé en anglais ?