使用 Flutter Riverpod 清除所有缓存数据、监听器、提供者状态

Clear all cache data, listener, state of provider using Flutter Riverpod

假设有一个登录系统。所以登录后,我需要转到主屏幕。注销后,它来到登录屏幕。所以在这种情况下,注销后需要清除所有提供程序数据、侦听器、与主屏幕相关的状态等。

还需要清楚地了解如何调用 StateNotifierProvider 的 onDispose() 方法。在注销的情况下如何从提供商外部访问它。

解决方案是让需要重置的提供商“监视”保留有关登录信息的其他提供商

例如:

final authProvider = SomeProvider<User>(<anything>);

final providerThatResetsWhenLogOutOrLogIn = Provider((ref) {
  ref.watch(authProvider);
})