它基本上是Web和移动应用程序。用户将能够在网络上自定义主题。当他登录到移动设备时,他将获得配色方案和(登录API的(响应对象。由于我无法再次调用登录API,因此我将颜色存储在AsyncStorage中。在我的应用程序中,我有一个文件,用来设置整个应用程序的颜色。这是代码:
import AsyncStorage from '@react-native-async-storage/async-storage';
let themeColorDark = "#123A43";
let themeColorLight = "#76AEB5";
let themeActiveColor = "#206775";
const getColors = async () => {
themeActiveColor = await AsyncStorage.getItem('primary');
themeColorDark = await AsyncStorage.getItem('dark');
themeColorLight = await AsyncStorage.getItem('light');
console.log(themeActiveColor, themeColorDark, themeColorLight);
// the results of the console: #610f0f #e2b1b1 #e7d5d5
// while the actual colors: #206775 #123A43 #76AEB5
}
getColors();
export default {
themeColorDark: themeColorDark,
themeColorLight: themeColorLight,
themeActiveColor: themeActiveColor,
};
问题是,控制台的结果是正确的。但实际的颜色是我初始化的。我是React Native的新手,因此任何帮助或替代解决方案都将不胜感激。
我想您以前在AsyncStorage中保存过一些有价值的颜色代码。必须首先在AsyncStorage中更新您的值。使用useState跟踪AsyncStorage中的更新数据和设置新值,就可以使用了