Paleta de colores con hooks en React Native

Clase 8 de 23Curso de Fundamentos de React Native

Resumen

Personaliza el modo oscuro y la paleta de colores en React Native con un enfoque práctico. Aquí verás cómo conectar los hooks de tema con componentes reutilizables como ThemeText y ThemeView para lograr una UI coherente, accesible y fácil de mantener.

¿Cómo activar el modo oscuro con hooks de temas en React Native?

El comportamiento dinámico de colores depende del sistema de temas de React Native y su integración con el modo oscuro del dispositivo. Al cambiar entre light y dark, los tabs y vistas como explore se actualizan automáticamente gracias a los hooks de tema.

  • Define una paleta de colores en constants/theme y ajústala a tu marca.
  • Usa tipografías por plataforma: fuentes por defecto para iOS y variantes específicas para web.
  • Conecta el color del sistema operativo mediante un hook de tema que reacciona al estado del dispositivo.
  • Aprovecha componentes base ThemeText y ThemeView con propiedades lightColor y darkColor para alternar estilos sin duplicar lógica.

Idea clave: configura colores y tipografías en un solo lugar, y deja que el hook gestione el cambio de tema.

¿Cómo crear un componente reutilizable con paleta personalizada?

Se construye un ProfileHeader.tsx dentro de components para mostrar nombre y rol de la persona usuaria. Este componente ilustra cómo consumir la paleta, aplicar estilos con Flexbox y generar iniciales para un avatar circular.

¿Cómo obtener colores con use theme color?Idea clave: usa nombres semánticos como card, primary y onPrimary para desacoplar diseño y lógica.

¿Cómo maquetar con view, Flexbox y StyleSheet?

Combina estilos de layout con color dinámico. El contenedor usa backgroundColor de la paleta y el avatar un círculo con el color primario.Idea clave: mezcla styles estáticos para layout con colores del tema en línea, sin duplicar estilos.

¿Cómo generar iniciales del nombre en TypeScript?

Crea una constante para obtener iniciales a partir del nombre: separa por espacios, toma la primera letra de cada palabra y conviértela a mayúsculas.Luego úsala dentro del avatar:Idea clave: prepara datos en constantes antes del render para mantener JSX limpio y legible.

¿Cómo integrarlo en la pantalla e impulsar la UI dinámica?

Integra el componente en la pantalla, importa y pasa las props name y role. Reemplaza Text por ThemeText en el resto de la interfaz para heredar el modo oscuro automáticamente. Como reto, cambia View por ThemeView y asigna colores por tema directamente.Usa ThemeText en mensajes como “buenas tardes” y el saludo principal.

  • Ajusta lightColor y darkColor en ThemeView para el fondo.
  • Centraliza la paleta en constants/theme para mantener consistencia.

¿Tienes dudas, ideas o una paleta preferida? Comparte en comentarios cómo aplicarás ThemeView y qué estilos sumarás a tu UI.