Hooks integrados en React


Hooks de estado

El Estado permite a un componente Por ejemplo, un componente de formulario puede usar el estado para almacenar el valor de entrada, mientras que un componente de galería de imágenes puede usar el estado para almacenar el indicé de la imagen seleccionada.

Para añadir un estado a un componente, usa de estos Hooks:

  • declara un estado variable que puedes actualizar directamente.
  • declara un estado variable con la lógica de actualización dentro de una

Hooks de Contexto

El Contexto permite a un componente Por ejemplo, tu componente en el nivel más alto de tu aplicación puede pasar el tema de interfaz de usuario actual a todos los componentes debajo, no importa que tan profundo estén.

  • lee y se suscribe a un Contexto.

Hooks Ref

Los Refs permiten a un componente como un nodo del DOM or el ID de un timeout. A diferencia del estado, actualizar un ref no no vuelve a renderizar tu componente. Los refs son una “puerta de escape” del paradigma de React. Son útiles cuando necesitas trabajar con sistemas que no son de React, como son las APIs integradas del navegador.

  • declara un ref. Puedes conservar cualquier valor en él, pero más frecuentemente se utiliza para conservar un node del DOM.
  • te permite personalizar el ref expuesto por tu componente. Es raramente utilizado.

Hooks de Efecto

Los Efectos permiten a un componente Esto incluye lidiar con la red, el DOM del navegador, animaciones, widgets escritos usando una biblioteca UI distinta, y otro código que no sea de React.

  • conecta un componente a un sistema externo.

Los Efectos son una “puerta de escape” del paradigma de React. No utilices los Efectos para orquestar el flujo de los datos de tu aplicación. Si no estas interactuando con un sistema externo,

Hay dos variaciones raramente usadas de useEffect con diferencias en la sincronización:

  • se activa antes de que el navegador vuelve a pintar la pantalla. Puedes medir la maquetación aquí.
  • se activa antes de que React realice cambios al DOM. Las bibliotecas pueden insertar CSS dinámico aquí.

Hooks de rendimiento

Una forma común de optimizar el rendimiento del re-renderizado es saltarse el trabajo innecesario. Por ejemplo, puedes decirle a React que reutilice cálculos que están en la caché o que se salte un re-renderizado si los datos no han cambiado desde el renderizado anterior.

Para saltarse cálculos y re-renderizados innecesarios, usa uno de estos Hooks:

  • te permite almacenar en caché el resultado de un cálculo costoso.
  • te permite almacenar en caché la definición de una función antes de pasarla a un componente optimizado.

A veces, no podrás saltarte re-renderizados porque la pantalla realmente necesita actualizarse. En ese caso, puede mejorar el rendimiento separando actualizaciones bloqueantes que deben ser síncronas (como escribir en un input) desde actualizaciones no bloqueantes las cuales no necesitan bloquear la interfaz de usuario (como actualizar una gráfica).

Para priorizar el renderizado, usa uno de estos Hooks:

  • te permite marcar un estado de transición como no bloqueante y permite a otras actualizaciones interrumpirlo.
  • te permite aplazar la actualización de una parte no critica de la UI y permite a las otras partes actualizarse primero.

Otros Hooks

Estos Hooks son mayormente útiles para los autores de bibliotecas y no son comúnmente utilizados para el código de una aplicación.

  • te permite personalizar la etiqueta que las herramientas de desarrollo de muestran para tu Hook personalizado.
  • permite a un componente se asocie a sí mismo un identificador único. Típicamente es usado con APIs de accesibilidad.
  • permite a un componente suscribirse a una store externo.
  • allows you to manage state of actions.

Tus propios Hooks

Puedes también como funciones de JavaScript.