0

我正在使用 ChangeNotifierProxyProvider 来提供一个名为 DatabaseService 的类。提供者如下图所示

 ChangeNotifierProxyProvider<AuthService, DatabaseService>(
    create:(_)=> DatabaseService() ,
    update: (_,AuthService authService, DatabaseService databaseService)=> databaseService..update(authService.currentUserId),
    ), 

这是DatabaseService中的更新功能

void update (String uid)async {

if(uid==this.uid) return;
this.uid=uid;
notifyListeners();
print("USER ID IS : " + uid); }

当用户登录时,Database 类成功获取 uid,调用 Provider.of(context).uid 工作正常。问题是当我刷新应用程序时,uid 会重置为其默认值。刷新应用程序后如何防止值重置。

4

1 回答 1

0

所以我得出一个结论,提供者不会持久化数据。这意味着当应用程序在模拟器中被终止或刷新时,提供程序值将重置。为了解决我的问题,我使用共享偏好来解决我的数据持久性问题。

于 2020-08-17T01:30:26.377 回答