我有一个有各种主题的应用程序。 主题存储在Realm JS中。
首次启动应用时,主题会加载。我使用react-native-extended-stylesheet作为样式。
它使用全局变量$theme
作为主题颜色。
用户可以保存主题&主题保存在Realm JS中,但是当您第一次启动应用程序时构建StyleSheet时,主题在保存后无法立即更改。当您再次重新启动应用程序时,主题会加载。
import EStyleSheet from 'react-native-extended-stylesheet';
const getTheme = () => {
// call realm db & get theme color
}
let theme = getTheme();
EStyleSheet.build({
$theme: theme,
});
EStyleSheet.subscribe('build', () => {
theme = getTheme();
});
所以我需要一种方法来在使用react-native-extended-stylesheet保存新主题时重建StyleSheet。我也试过了subscribe method,但我不知道如何正确使用它?