Ola*_*ari 7 redux react-redux react-hooks redux-toolkit
问题:当向同一端点发出多个请求时,useLazyQueryHook 将仅返回状态设置为“已完成”的最新查询和响应数据的响应,而之前发出的其他请求则停留在“待处理”状态且没有响应数据。
所需的功能:惰性查询挂钩不会覆盖先前的返回(如果是覆盖),而是返回每个查询的数据,这些数据可以在 useEffect 挂钩 f.ex 中访问。使用 RTK 时,这可能不是该用例的正确方法吗?
我在 createAPI 中有以下端点...
getLoggerCheck: builder.query<any, any>({
query: ({ loggerId }) => ({
url: '/scan/check',
params: {
logger: loggerId,
}
}),
transformResponse(data: any) {
console.log(data); // <---- Correct data for each request is logged out here
return data;
}
})
Run Code Online (Sandbox Code Playgroud)
...但是当像这样使用生成的 useLazyGetLoggerCheckQuery 挂钩并每秒发出大约 5 个请求时,runLoggerChecks({loggerId: XXXXX})仅返回最近的查询,并返回数据和状态“已完成”。
const [runLoggerCheck, loggerCheckResponse] = useLazyGetLoggerCheckQuery();
useEffect(() => {
console.log(loggerCheckResponse)
}, [loggerCheckResponse]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
756 次 |
| 最近记录: |