He leído en la documentación de Expo/RN, que para obtener el color del sistema (oscuro/claro) debemos usar esta API de reaccionar nativo.
Entonces, he decidido crear mi gancho personalizado.
import { Appearance } from "react-native"; export default function useIsDarkModeEnabled() { return Appearance.getColorScheme() === "dark"; }Pero por alguna razón, siempre me devuelve falso. Estoy probando en iOS 14, con el tema oscuro habilitado.
¿Algunas ideas?
Cada vez que compruebo la apariencia actual del dispositivo, uso la función useColorScheme(), no getColorScheme().
Puede usar Context para persistir en toda la aplicación, o ponerlo en la raíz de su aplicación y pasarlo a sus componentes como accesorios (no es lo mejor). Para conservar el tema, puede usar AsyncStorage para almacenar el último estado de la apariencia.
Luego, cada vez que se abra la aplicación, extraerá ese último estado a menos que el dispositivo haya cambiado su apariencia desde entonces.