【问题标题】:ChangeNotifierProxy Provider & ChangeNotifier Provider loses value when app is refreshed刷新应用程序时,ChangeNotifierProxy Provider 和 ChangeNotifier Provider 失去价值
【发布时间】:2020-11-23 05:02:42
【问题描述】:

我正在使用 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 会重置为其默认值。刷新应用后如何防止值重置。

【问题讨论】:

    标签: flutter flutter-provider flutter-change-notifier


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-06
      • 2021-01-29
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2020-12-02
      • 2020-11-03
      • 1970-01-01
      相关资源
      最近更新 更多