Potencia tu vista de explore con un componente reusable y un servicio de sugerencias. Aquí verás cómo crear una ExploreCard accesible, aplicar estilos específicos para iOS y Android con Platform y construir un SuggestService que usa un catálogo por categoría con prioridades.
¿Cómo crear una ExploreCard con props y accesibilidad?
Para darle forma al tag de explore se construye un componente con props claras: emoji, título, subtítulo y acción. La acción se ejecuta al presionar, y se expone a través de las props para mantener la lógica desacoplada. También se añade accesibilidad con role y label del botón.
¿Qué props y type definen la interfaz?
type con las props: emoji, title, subtitle, onPress.
Acción disparada en onPress desde las props.
Exportación del componente para reutilizarlo en el tag de explore.
¿Cómo estructurar la vista con emoji, título y subtítulo?
Contenedor para el emoji con tamaño visible.
Bloque para textos: título claro y subtítulo descriptivo.
Botón presionable que envuelve todo para capturar la acción.
¿Cómo aplicar estilos específicos por sistema operativo con Platform?
La clave está en combinar una base común con estilos condicionales por plataforma usando Platform. Así, la card se ve distinta en iOS y Android, sin duplicar estilos. Además, puedes sumar estilos comunes (p. ej., colores) al final del arreglo.
Uso de Platform.OS para decidir entre iOS y Android.
Base consistente para layout.
Ajustes visuales nativos: sombras en iOS y elevation en Android.
¿Cómo construir un SuggestService con catálogo, modelo y fetch?
Se crea un servicio en TS para manejar sugerencias por categoría. Incluye un modelo que comparte campos con las cards y añade prioridad. Un catálogo agrupa hábitos por categorías como energía y enfoque, con id, emoji y prioridad. La selección puede simular una llamada a una API mediante fetch con POST, headers, body y try/catch; si no hay endpoint, se devuelve la sugerencia del catálogo según la categoría y prioridad.
¿Qué modelo y catálogo necesitas?
Modelo con id, emoji, title, subtitle, priority.
Catálogo indexado por categoría: energia, enfoque.