dart Riverpod AsyncNotifier不会在ref.invalidate之后重置notifier中的变量

ftf50wuq  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(38)

有一种情况,我需要使AsyncNotifier无效/刷新以重新开始,但当我使其无效时,我面临2个问题:
1.我在AsyncNotifier类中有一个变量,在使该提供程序失效后,它仍然保留着失效前的数据,那么我应该如何使提供程序失效,以使它刷新该类中的所有内容,包括本地变量?
1.它仍然返回AsyncData,但将isLoading改为true,但我认为它应该设置数据null,然后启动build函数,我错了吗?如果你能帮助我,我将非常感激!

piah890a

piah890a1#

调用ref.invalidate会将visible状态重置为AsyncLoading,但AsyncValue在某些情况下会保持“prior”状态,以实现无缝转换。如果使用default .when,则在构建新值后,它将从旧值无缝转到新值。如果要返回到其间的加载状态,请将适当的标志添加到.when,或者在AsyncLoading和AsyncData上使用显式模式匹配。

相关问题