Open dyardy opened 2 years ago
I notice the same because the UserStore builder was being called twice. I changed my code to:
- final ThemeStore _themeStore = ThemeStore(getIt<Repository>());
- final PostStore _postStore = PostStore(getIt<Repository>());
- final LanguageStore _languageStore = LanguageStore(getIt<Repository>());
- final UserStore _userStore = UserStore(getIt<UserRepository>());
+ final ThemeStore _themeStore = getIt<ThemeStore>();
+ final PostStore _postStore = getIt<PostStore>();
+ final LanguageStore _languageStore = getIt<LanguageStore>();
+ final UserStore _userStore = getIt<UserStore>();
I'm still learning Dart so I don't know if this was made on purpose or if this is a bug 🤷♂️
@tribal2 thanks buddy! I think it's a bug as it double-initializes the store. I applied your suggestion and it solved the problem of values saved in shared preferences when starting the application.
I notice in feature/mvi branch (the latest) that languagestore, themestore, userstore is registered in service_locator AS well as new'd up again in MyApp. This seems like duplication
i.e. getIt.registerSingleton(LanguageStore(getIt()));
getIt.registerSingleton(ThemeStore(getIt()));
getIt.registerSingleton(UserStore(getIt()));
and also in my_app.dart final ThemeStore _themeStore = ThemeStore(getIt());
final PostStore _postStore = PostStore(getIt());
final LanguageStore _languageStore = LanguageStore(getIt());
final UserStore _userStore = UserStore(getIt());