flutter - 如何初始化flutter Multi Provider所有providers数据?

标签 flutter dart flutter-provider flutter-change-notifier

在我的应用程序中,我有很多提供程序,例如通知、身份验证、个人资料、对话、旅行等...现在我需要在用户注销时重新初始化所有提供程序。否则旧的用户数据仍将保留在提供程序中,新用户将获得它们。

最佳答案

折腾了一天,我就这样解决了这个问题。这是我能做的最优雅的方式。因此,注销后,您必须删除所有屏幕并导航到根小部件,在其中创建您的 Provider 或 MultiProvider,因此您的提供程序或 MultiProvider 内的所有提供程序将被重新创建,并且所有数据将被重新初始化

Navigator.of(context).pushAndRemoveUntil<T>(
  MaterialPageRoute(
      builder: (_) => MyApp(),
  ),
  (_) => false,
);

其中 MyApp 是根小部件,它作为参数传递到 main.dart 的主函数中。

 runApp(
   MyApp(token: token),
 );

关于flutter - 如何初始化flutter Multi Provider所有providers数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68566338/

相关文章:

flutter - 小部件无法标记为需要构建,因为框架已经在构建小部件的过程中

firebase - 多提供者无效成员为null:提供者构造上的 'collection'

flutter - 在包含导航流的Flutter中,此Y小部件上方找不到正确的Provider <X>

flutter - 找不到正确的提供者

flutter - 如何在Flutter中完成数据加载后呈现我的小部件

flutter - 当用户第一次点击时,它发生了变化,但第二次没有

dart - 如何在 Dart 命令行 HttpClient 中执行 POST

android - 如何在 Flutter 应用程序中打开 DropBox 下载的文件?

dart - StreamBuilder 在调用 StreamController.sink.add 时没有反应

mobile - 如何在 flutter 离线时向 firestore 集合添加新字段?