kyu*_*yun 3 reactjs redux rtk-query
RTK-query hook (useXXXQuery) 进行了一个查询。假设是这样useGetSomethingQuery。
我正在使用 useEffect 处理其结果对象。
const res = useGetSomethingQuery(payload);
useEffect(() => {
...
if (res.isSuccess) {
// use the fetched Data
}
},[res]);
Run Code Online (Sandbox Code Playgroud)
isSuccess正如您所看到的,当设置为时,我正在从服务器获取数据true。
首次调用该接口,状态设置为或后,isSuccess变为。换句话说,转变成后。truefulfilledrejectedisFetchingfalse
但问题是,从第二次使用同一个api开始,isSuccess属性就变成true连取都没有结束。(它的值仍然是true)。
我认为这与缓存有些关系..但不知道。
为什么要在成功之前isSuccess转向?true
它不会变成真实——它保持真实。
在第一次请求端点/参数组合后,您将在缓存中拥有一个值 - 该值要么是成功,要么是失败。因此,无论当前是否正在获取数据,该数据都将保持可供您使用。
如果你使用钩子,它会更进一步。想象一下您从第 5 页转到第 6 页。当第 6 页仍在获取时,您仍然会看到第 5 页的结果,直到第 6 页成功或失败 - 并且在这段时间内您还将看到成功/错误状态第 5 页。
| 归档时间: |
|
| 查看次数: |
3288 次 |
| 最近记录: |