【问题标题】:Clear state in providers when using Flutter and Riverpod使用 Flutter 和 Riverpod 时清除提供程序中的状态
【发布时间】:2021-10-11 20:18:35
【问题描述】:

如何在 Flutter 应用中手动清除 Riverpod 提供程序的当前状态?我的用例是当用户退出我的应用程序然后注册为新用户/不同用户时,以前的用户状态仍存储在提供程序中,但是当应用程序重新启动时它会自动清除。

【问题讨论】:

标签: flutter dart riverpod


【解决方案1】:

作为参考,Riverpod 包的所有者在这里回答了我的问题: https://github.com/rrousselGit/river_pod/issues/676

【讨论】:

    【解决方案2】:

    您需要使用 Riverpod 中的 .autoDispose,详情请参阅以下链接

    final userProvider = StreamProvider.autoDispose<YourModel>((ref) {
    
    });
    

    https://riverpod.dev/docs/concepts/modifiers/auto_dispose/

    【讨论】:

    • 嗨,我知道自动处置,但我的用例不同。我不想在用户登录时对某些提供程序使用自动处理。但是当该用户注销时,我不知何故需要找到一种方法来处理所有提供程序,以便当我在同一设备上登录时使用不同的用户,状态被重置。有意义吗?
    猜你喜欢
    • 2021-11-29
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 2022-09-27
    • 2021-02-10
    • 2021-05-30
    相关资源
    最近更新 更多