Compound Components: Composición Inteligente

Lectura
25 min~1 min lectura

Compound Components: composición inteligente

El patrón Compound Components permite construir componentes flexibles que trabajan juntos mediante composición. Es útil para tabs, accordions, dropdowns, modales y componentes donde varias piezas comparten estado.

La idea principal

En lugar de pasar decenas de props a un componente gigante, exponés piezas relacionadas que se combinan de forma declarativa.

<Tabs defaultValue="overview">
  <Tabs.List>
    <Tabs.Trigger value="overview">Resumen</Tabs.Trigger>
    <Tabs.Trigger value="metrics">Métricas</Tabs.Trigger>
  </Tabs.List>
  <Tabs.Panel value="overview">Contenido general</Tabs.Panel>
  <Tabs.Panel value="metrics">Contenido de métricas</Tabs.Panel>
</Tabs>

Ventajas

  • API más expresiva y cercana al HTML.
  • Menos props booleanas difíciles de mantener.
  • Mayor flexibilidad para ordenar o combinar piezas.
  • Mejor separación entre estado compartido y presentación.

Cuándo evitarlo

No uses compound components para componentes simples. Si un botón solo necesita texto, icono y estado disabled, una API con props es suficiente.

Actividad práctica

Diseñá una API de compound components para un Accordion. Debe permitir múltiples items, un trigger por item y contenido desplegable.

Entregable

  • Ejemplo de uso del componente.
  • Lista de subcomponentes necesarios.
  • Explicación de dónde viviría el estado abierto/cerrado.
De lección a portfolio

Convertí esta lección en una habilidad visible para entrevistas.

Guardá el curso, completá los ejercicios y conectá esta habilidad con una ruta de empleo, data, IA, programación o marketing.

Recibí rutas y cursos nuevos

Sumate para recibir recursos orientados a empleo y portfolio.

¿Ya tenés una cuenta? Iniciá sesión