Riverpod - ref.refresh。应该使用“刷新”的值

RJB*_*RJB 7 flutter riverpod

我正在将 Riverpod 与 flutter 一起使用。

在我的主屏幕上,我有一个 FutureProvider,它调用 API 服务器,并在页面上显示结果。

在应用程序的不同点,不同屏幕上的用户进行更改,然后我从另一个屏幕刷新提供程序。像这样

ref.refresh(calendarResponseProvider);
Run Code Online (Sandbox Code Playgroud)

现在,由于某种原因,刷新呈灰色,我收到此错误:

在此输入图像描述

现在,我在另一个屏幕上使用刷新值。难道我做错了什么?我应该忽略它吗?

Rub*_*ble 13

如果您不使用 返回的结果refresh(),则使用该invalidate()方法重置提供程序状态。

写作:

final newValue = ref.refresh(provider);
Run Code Online (Sandbox Code Playgroud)

与执行以下操作完全相同:

ref.invalidate(provider);
final newValue = ref.read(provider);
Run Code Online (Sandbox Code Playgroud)