Sas*_*ngs 7 dart flutter riverpod
如何在 Flutter 应用程序中手动清除 Riverpod 提供程序的当前状态?我的用例是当用户退出我的应用程序然后注册为新/不同用户时,以前的用户状态仍然存储在提供程序中,但是当应用程序重新启动时它会自动清除。
Joe*_*ler 14
现在有一个invalidate()方法可以使提供程序立即被处置。
用法示例:
onPressed: () async {
ref.read(newPostScreenProvider.notifier).setBusy(true);
await ref.read(newPostScreenProvider.notifier).submitPost(
image: ref.watch(imagesProvider),
content: ref.watch(contentProvider),
private: private,
);
ref.read(newPostScreenProvider.notifier).setBusy(false);
ref.invalidate(newPostScreenProvider);
ref.invalidate(imagesProvider);
ref.invalidate(contentProvider);
ref.invalidate(contentReadyProvider);
router.pop();
}
Run Code Online (Sandbox Code Playgroud)
这是描述 invalidate 方法的 GitHub 问题。
小智 2
您将需要使用 Riverpod 中的 .autoDispose,请参阅下面的链接了解更多详细信息
final userProvider = StreamProvider.autoDispose<YourModel>((ref) {
});
Run Code Online (Sandbox Code Playgroud)
https://riverpod.dev/docs/concepts/modifiers/auto_dispose/
| 归档时间: |
|
| 查看次数: |
14081 次 |
| 最近记录: |