Ganchos de reacción
Se agregaron ganchos a React en la versión 16.8.
Los ganchos permiten que los componentes de funciones tengan acceso al estado y otras características de React. Debido a esto, los componentes de clase generalmente ya no son necesarios.
Aunque los Hooks generalmente reemplazan los componentes de las clases, no hay planes para eliminar las clases de React.
¿Qué es un gancho?
Los ganchos nos permiten "engancharnos" en las funciones de React, como los métodos de estado y ciclo de vida.
Ejemplo:
Aquí hay un ejemplo de un gancho. No te preocupes si no tiene sentido. Entraremos en más detalle en la siguiente sección .
import React, { useState } from "react";
import ReactDOM from "react-dom";
function FavoriteColor() {
const [color, setColor] = useState("red");
return (
<>
<h1>My favorite color is {color}!</h1>
<button
type="button"
onClick={() => setColor("blue")}
>Blue</button>
<button
type="button"
onClick={() => setColor("red")}
>Red</button>
<button
type="button"
onClick={() => setColor("pink")}
>Pink</button>
<button
type="button"
onClick={() => setColor("green")}
>Green</button>
</>
);
}
ReactDOM.render(<FavoriteColor />, document.getElementById('root'));
Debes import
Hooks de react
.
Aquí estamos usando useState
Hook para realizar un seguimiento del estado de la aplicación.
El estado generalmente se refiere a los datos de la aplicación o las propiedades que deben rastrearse.
Reglas de gancho
Hay 3 reglas para los ganchos:
- Los ganchos solo se pueden llamar dentro de los componentes de la función React.
- Los ganchos solo se pueden llamar en el nivel superior de un componente.
- Los ganchos no pueden ser condicionales
Nota: los ganchos no funcionarán en los componentes de la clase React.
Ganchos personalizados
Si tiene una lógica con estado que debe reutilizarse en varios componentes, puede crear sus propios Hooks personalizados.
Entraremos en más detalles en la sección Ganchos personalizados .