react-puro-19
  • React Puro - 19
  • code
    • README
    • README
    • README
    • README
    • README
    • README
    • README
    • README
  • 7-state-en-clases
    • Ejemplo inicial: un contador
    • Manejo de eventos
    • El state
    • Sintaxis limpia en Class Components
    • setState es Asincrónico
    • Fusión superficial vs profunda
  • 5-children
    • Personalizar Children antes de renderizar
    • PropTypes para Children
    • Los Children
    • Diferentes tipos de Children
    • Manejando uso Children
  • 13-hook-usereducer
    • Qué es un Reducer?
    • Un ejemplo más practico
    • Entonces, Redux murió?
  • 4-proptypes
    • Documentación y depuración incluida
    • PropTypes como documentación
    • Cómo validar, formas comunes
    • Ejemplo Tweet con PropTypes
  • 3-props
    • Comunicación con componentes Padre
    • Las Props:
    • Pasar Props
    • Recibir Props
    • Ejemplo Tweet con Props
  • 11-pensando-uso-state
    • "Tipos" de componentes
    • Qué colocar en el State
    • Dónde mantener el estado
    • Pensando declarativamente
  • 9-requests-api
    • Intro
    • Eligir libreria HTTP
    • Obtener datos y mostrarlos
  • 10-state-en-funciones
    • El useState Hook
    • Actualizar State basado en State anterior
    • State como un Array
    • Reglas de los Hooks
    • La "magia" de los Hooks
    • State como un Objeto
    • Intro Hooks
  • 15-api-context
    • Usando React API Context
    • Patrón "Slots"
    • Patrón "Render Props"
    • Intro API Context
    • Otros Patrones de Context
    • Ejemplo perforación de props
    • hook_usecontext
  • 8-ciclo-vida-componente
    • Fases
    • El ciclo
    • Manejo de errores
    • Desmontaje
    • Representación
    • Montaje
  • 14-hook-useeffect
    • Límite cuando se ejecuta un Effect
    • Hacer cambios visibles del DOM
    • Obtener datos (Fetch) con useEffect
    • Intro useEffect
    • Re-obtener datos (Re-Fetch) cuando cambian
    • Solo ejecución en montaje y desmontaje
  • 2-jsx
    • Ejemplo componente Tweet:
    • JSX:
    • Trabajando con JSX:
  • 12-controles-entrada
    • Entradas controladas
    • Entradas no controladas
  • 6-github-file-list
    • Parte 2: la Prop 'key'
    • Parte inicial
  • 1-hola_mundo
    • Hola mundo:
Con tecnología de GitBook
En esta página

¿Te fue útil?

  1. 10-state-en-funciones

Reglas de los Hooks

Algunas reglas a seguir:

  1. Solo llamar a los hooks al principio/top del cuerpo de la función. No colocar en bucles, condicionales o funciones anidadas. Para que React realice un seguimiento de los hooks, los mismos deben llamarse en el mismo orden cada vez. Si se llamó a useState desde dentro de un if, por ejemplo, y se ejecutó durante el primer render pero se omitió durante el segundo, React estaría confundido.

  2. Solo llamar a los hooks desde los componentes de función, o de los hooks personalizados. No llamar desde fuera de un componente. Mantener todas las llamadas dentro de componentes y hooks personalizados hace que al código sea más fácil darle seguimiento, porque toda la lógica relacionada está agrupada.

  3. Los nombres de los hooks personalizados deben comenzar con "use". Como useState o useEffect (bueno, esos dos no, pues ya existen en React).

El equipo de React creó algunas reglas para ESLint para detectar el uso problemático de los hooks (esas reglas están integradas para crear proyectos con Create React App) y el linter necesita una forma de identificar cómo es "un hook". De ahí el prefijo de nombre. El linter podrá advertir si se viola la regla 1 o 2, pero solo si se sigue la regla 3.

AnteriorState como un ArraySiguienteLa "magia" de los Hooks

Última actualización hace 5 años

¿Te fue útil?