- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个问题,其中 loading
执行 refetch
时属性不正确.我在某处读到 notifyOnNetworkStatusChange
为 true 会解决这个问题。
但是我们注意到在使用这个属性后我们有一些用例,我们最终会遇到无限 refetch
循环没有很好的解释。
有人能解释一下 notifyOnNetworkStatusChange
到底是什么吗?完全在 useQuery 钩子(Hook)上做什么?什么时候用,有没有特别的fetch-policy
你需要配合使用吗?
最佳答案
好像notifyOnNetworkStatusChange: true
是为了让我们检查当前 networkStatus
您的 useQuery
,这是一个数字。然后基于networkStatus
变量我们可以选择我们自己的策略render
当前组件。
重要提示:loading
将是 undefined
没有 notifyOnNetworkStatusChange: true
以下代码来自
https://www.apollographql.com/docs/react/data/queries/#inspecting-loading-states
import { NetworkStatus } from '@apollo/client';
function DogPhoto({ breed }) {
const { loading, error, data, refetch, networkStatus } = useQuery(
GET_DOG_PHOTO,
{
variables: { breed },
notifyOnNetworkStatusChange: true,
},
);
if (networkStatus === NetworkStatus.refetch) return 'Refetching!';
if (loading) return null;
if (error) return `Error! ${error}`;
return (
<div>
<img src={data.dog.displayImage} style={{ height: 100, width: 100 }} />
<button onClick={() => refetch()}>Refetch!</button>
</div>
);
}
如果你注意到代码
if (networkStatus === NetworkStatus.refetch) return 'Refetching!'
,这意味着当
refetch()
被调用的 DogPhoto 组件将更改为
Retching!
直到完成。
networkstatus
中每个数字的含义.
useQuery
当前状态.然后根据状态,如果事情失败,您可以对其进行进一步的操作,但我相信您总是可以在没有它的情况下创建自己的解决方案。
关于apollo-client - notifyOnNetworkStatusChange 究竟做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66500173/
Feel free to skip straight to TL/DR if you're not interested in details of the question 简短的序言: 我最近决定
我一直在阅读 A Tour of Go学习Go-Lang到目前为止一切顺利。 我目前在 Struct Fields类(class),这是右侧的示例代码: package main import "fm
Last time I got confused顺便说一下PowerShell急切地展开集合,基思总结了它的启发式如下: Putting the results (an array) within a
我是一名优秀的程序员,十分优秀!