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.
Cómo crear una ExploreCard específica para iOS y Android
Recursos
Resumen
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.
¿Cómo aplicar estilos diferentes por sistema operativo?
Para lograr que tu aplicación se sienta nativa en cada dispositivo, React Native ofrece el módulo Platform. Imagina que tienes un sastre que ajusta un traje dependiendo de quién se lo ponga. Al usar Platform.OS === 'ios', puedes inyectar un objeto de estilos exclusivo para los usuarios de Apple, como sombras más suaves o bordes redondeados específicos, y dejar una alternativa visual para Android. Esto se logra combinando un estilo base con una validación condicional directamente en la propiedad de tu componente. Es la mejor manera de respetar las guías de diseño de (Android) y (iOS) sin tener que escribir dos componentes completamente distintos. Simplemente importas , evalúas el sistema y aplicas el diseño correspondiente.
{"water-energy":{"title":"Drink water","subTitle":"205 ml","emoji":"💧","priority":"low"},"walk-energy":{"title":"Walk for 10 minutes","subTitle":"Fresh air","emoji":"🍃","priority":"medium"},"breathe-energy":{"title":"Breathe for 1 minute","subTitle":"4-7-8 technique","emoji":"😮💨","priority":"low"},"reading-focus":{"title":"Read for 10 minutes","subTitle":"Relevant topic","emoji":"📚","priority":"low"},"pomodoro-focus":{"title":"Pomodoro 25","subTitle":"1 deep block","emoji":"🕑","priority":"medium"},"notification-focus":{"title":"Silence for 1 hour","subTitle":"Stay focused","emoji":"🔕","priority":"medium"}}
Que buenos hábitos!!!
¿Cómo aplicar estilos diferentes por sistema operativo?
Para lograr que tu aplicación se sienta nativa en cada dispositivo, React Native ofrece el módulo Platform. Imagina que tienes un sastre que ajusta un traje dependiendo de quién se lo ponga. Al usar Platform.OS === 'ios', puedes inyectar un objeto de estilos exclusivo para los usuarios de Apple, como sombras más suaves o bordes redondeados específicos, y dejar una alternativa visual para Android. Esto se logra combinando un estilo base con una validación condicional directamente en la propiedad style de tu componente. Es la mejor manera de respetar las guías de diseño de Material Design (Android) y Human Interface Guidelines (iOS) sin tener que escribir dos componentes completamente distintos. Simplemente importas Platform, evalúas el sistema y aplicas el diseño correspondiente.