英文:
Riverpod - ref.refresh. The value of 'refresh' should be used
问题
我使用 riverpod 和 flutter。
在我的主屏幕上,我有一个 FutureProvider,它调用 API 服务器,并在页面上显示结果。
在应用程序的各个点上,用户在不同屏幕上进行更改,我从其他屏幕刷新提供程序。像这样
ref.refresh(calendarResponseProvider);
现在,由于某种原因,刷新是灰色的,我得到了这个错误:
现在,我正在使用另一个屏幕上的刷新值。我做错了什么吗?我应该忽略它吗?
英文:
I'm using riverpod with flutter.
On my main screen I have a FutureProvider which makes a call to the API server, and displays results on the page.
At various points in the app, the user on different screens, makes changes, and I refresh the provider from the other screen. Like this
ref.refresh(calendarResponseProvider);
Now, for some reason, the refresh is in grey, and I get this error:
Now, I am using the value of refresh on the other screen. Am I doing something wrong? Should I ignore it?
答案1
得分: 8
如果您不使用 refresh()
返回的结果,则使用 invalidate()
方法来重置提供程序的状态。
代码部分不翻译,只提供翻译好的文本。
英文:
If you do not use the result returned by refresh()
, then use the invalidate()
method to reset the provider state.
Writing:
final newValue = ref.refresh(provider);
is strictly identical to doing:
ref.invalidate(provider);
final newValue = ref.read(provider);
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论