【发布时间】:2021-06-29 09:58:32
【问题描述】:
我在使用 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>;
}
如您所见,我使用react-native 中的Appearance.getColorScheme() 方法来获取当前的ColorScheme。但在 iOS 和 Android 上,无论是在调试模式还是在生产模式下,我总是得到 light 而不是 dark。
我该如何解决这个问题?
【问题讨论】:
标签: react-native expo darkmode