prácticaavanzado
Accordion con Compound Components
Tienes un Accordion que recibe toda su configuración como props (items, activeId, onToggle). Refactorízalo al patrón Compound Components: el estado vive dentro de Accordion y los subcomponentes Accordion.Item, Accordion.Trigger y Accordion.Panel se comunican a través de Context sin recibir props explícitas entre sí.
Objetivos
- 1.Crea un contexto privado
AccordionCtxcon{ active, toggle } - 2.
Accordiongestiona el estado conuseStatey provee el contexto - 3.
Accordion.Itemprovee su propioidal contexto hijo con un segundo Provider (ItemCtx) - 4.
Accordion.Triggerlee eliddel item desdeItemCtxy llama atoggleal hacer click - 5.
Accordion.Panelse renderiza solo cuando suidcoincide conactive - 6.La App usa la API compuesta sin pasar props entre subcomponentes
tu código
Pista
Necesitas dos niveles de contexto: uno global (qué item está abierto) y uno por item (cuál es el id de este item). Así Trigger y Panel saben a qué item pertenecen sin recibirlo como prop.
Conceptos relacionados
¿Fue útil?
Inicia sesión para dar feedback
