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. 11-pensando-uso-state

"Tipos" de componentes

Arquitectónicamente, pueden segmentarse los componentes en dos tipos: Presentacional (alias "Tonto") y Contenedor (alias "Inteligente").

Los componentes Presentacionales no tienen estado. Simplemente aceptan props y renderizan algunos elementos basados en esas props. Un componente sin estado generalmente contendrá menos lógica y será más fácil de depurar y probar. Son, en esencia, funciones puras. Siempre devuelven el mismo resultado para un conjunto dado de props, y no cambian nada. Idealmente, la mayoría de componentes serán de presentación.

Los componentes Contenedores tienen estado. Mantienen el estado para sí mismos y para cualquier componente hijo, y se lo transmiten a través de props. Por lo general, pasan las funciones del controlador a los hijos y responden a las devoluciones de llamada actualizando su estado interno. Los componentes de contenedor también son responsables de comunicación asincrónica, como las llamadas AJAX a servidor.

En un mundo ideal, se trataría de organizar la aplicación para que los componentes en el nivel más alto (y tal vez un nivel por debajo) sean contenedores, y todo debajo de ellos sea de presentación. En el mundo real, esto es difícil de lograr porque es posible que se tengan entradas anidadas que contienen su propio estado o requisitos más complicados. Sin embargo, está bien, nada es perfecto.

Anterior11-pensando-uso-stateSiguienteQué colocar en el State

Última actualización hace 5 años

¿Te fue útil?