我在使用 Expo CLI 创建的新 react-native 应用程序中使用自定义挂钩来支持带有 tailwindcss 的暗模式。具有暗模式逻辑的 TailwindProvider 如下所示:
const TailwindProvider: React.FC = ({ children }) => {
const [currentColorScheme, setcurrentColorScheme] = useState(Appearance.getColorScheme());
console.log("CurrentColorScheme:", currentColorScheme);
const isDarkMode = currentColorScheme == "dark";
const tw = (classes: string) => tailwind(handleThemeClasses(classes, isDarkMode))
return <TailwindContext.Provider value={{ currentColorScheme, setcurrentColorScheme, tw, isDarkMode }}>{children}</TailwindContext.Provider>;
}
如您所见,我使用Appearance.getColorScheme()
from 的方法react-native
来获取当前的 ColorScheme。但是在 iOS 和 Android 上,我总是在调试和生产模式下得到light
而不是。dark
我怎样才能解决这个问题?