REACT-Hooks-useState y useEffect

 Cómo usar el Hook useState

Para que un componente funcional tenga estado propio podemos hacer uso del hook useState.

Importar useState:

import React, { useState } from 'react';

useState() es una función que crea internamente una variable donde podremos almacenar el estado de nuestro componente. Acepta un valor inicial para esa variable y devuelve un array con dos elementos, el valor de la variable y la función para modificarla.


function FavoriteColor() {

  const [valordelavariablefunciónparamodificarla] = useState(valor inicial);

}

Es otra manera de definir la función::

const FavoriteColor = () =>{

  const [valordelavariablefunciónparamodificarla] = useState(valor inicial);

}

Como el valor devuelto por la función es un array, podemos descomponerlo para acceder a sus elementos de manera individual.

const [count, setCount] = useState(0);

const FavoriteColor = () =>{

  const [count, setCount] = useState(0);

}


Aquí tienes un ejemplo práctico:

function FavoriteColor() {
  const [color, setColor] = useState("red");

  return (
    <>
      <h1>My favorite color is {color}!</h1>
      <button
        type="button"
        onClick={() => setColor("blue")}
      >Blue</button>
    </>
  )
}
const root = ReactDOM.createRoot(document.getElementById('favoriteColor'));
root.render(<FavoriteColor />);







Cómo usar el Hook useEffect

import React, { useEffect } from 'react';

Este hook normalmente es usado para la inicialización de variables, llamadas a APIs o para limpiar un componente antes de desmontarlo del DOM.

Es el equivalente funcional a componentDidMount, componentDidUpdate, y componentWillUnmount en los componentes de clase.

La llamada a useEffect acepta una función como argumento. Esta función se ejecuta por defecto cuando el componente se renderiza por primera vez, y después cada vez que el componente se actualice.


Ejemplo:



También es posible especificar cuándo se debe ejecutar esta función con un segundo argumento opcional que le podemos pasar.

Para ello basta con añadir un segundo parámetro a la función, con la lista de los elementos de los que depende. Si el valor de uno de estos elementos que hemos indicado cambia, la función se va a ejecutar con la siguiente actualización.



Otra posibilidad que nos permite este hook es la de especificar que se ejecute sólo una vez. Esto resulta muy útil si sólo queremos hacer una llamada AJAX para rellenar el estado de la aplicación.



A veces, hacemos uso de recursos que pueden quedar a medias cuando el componente se desmonta del DOM, para hacer “limpieza” de los recursos de un componente podemos especificarlo devolviendo una función en useEffect:



Fuente::

Comentarios

Entradas populares de este blog

reloj obs---datetime.lua

10 videojuegos gratis para aprender JavaScript en línea

Filtrando por fecha