reactjs - 为什么我不能对 react-query refetchQueries 进行 redux-saga 调用?
问题描述
我正在尝试没有成功yield
的方法,如下所示:refetchQueries
yield call(queryClient.refetchQueries,
[EReactQueryKeys.LIST_MIX, urlParams.sceneId],
{ active: true, exact: true }
);
这不会引发错误,但call
不要调用该方法并且什么也不会发生,但据我所知call
效果可以调用承诺的方法,我在调用我的服务时使用该行为,就像这样:
yield call(MixService.create, urlParams, mixName);
即使MixService.create
是async
方法而不是生成器,这也可以正常工作。
更进一步,为什么如果我创建一个async
包装器,它会按预期工作?这让我对“为什么我不能只是call
和yield
这种方法”产生更大的疑问?
const wrapper = async (sceneId: string) => queryClient.refetchQueries(
[EReactQueryKeys.LIST_MIX, sceneId],
{ active: true, exact: true },
);
yield call(wrapper, urlParams.sceneId); // Inside my saga fn
如果我得到类型或返回,refetchQueries
我得到这也是一个承诺,但由于某种原因,refetchQueries
调用时它不会按预期工作。如果我在没有如下call
效果的情况下运行该方法,它可以正常工作:
queryClient.refetchQueries(
[EReactQueryKeys.LIST_MIX, urlParams.sceneId],
{ active: true, exact: true },
);
我是否遗漏了有关call
效果行为的某些信息refetchQueries
?
解决方案
推荐阅读
- android - Flutter FCM无法运行onBackgroundMessage,未点击时无法在本地保存通知
- r - 如何按组查找n个最大值的平均值并在r数据表中添加为新列
- objective-c - 在 lldb 表达式上下文中使用 Objective-C 创建一个类
- reporting-services - SSRS 2019 本机模式未与 ReportServer 一起安装:服务性能计数器类别
- wordpress - 尝试上传插件时,我不断收到此问题
- reactjs - 使用 React-router 导航到子页面
- powershell - powershell“查找并替换”路径
- python - 我对python中的解包函数有问题
- flutter - 提供商在注销后保留数据
- java - 如何对 Spring Security @PreAuthorize 自定义表达式进行单元测试