- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个接受输入参数的查询,比如日期
const { loading, data, error } = useQuery(GET_LIST, {
variables: {
input: {
date: date,
},
},
});
export const GET_LIST = gql`
query list($input: ListParams) {
list(input: $input) {
totalCount
recordCount
list {
listId
date
qty
amount
currency
}
}
}
`;
input ListParams {
date: String
}
我需要获取列表,用户可以在其中根据日期进行过滤。现在在初始加载时,未设置日期,调用查询。用户设置日期,没有问题,使用日期值再次调用查询,现在当用户删除日期过滤器时,日期值变为未定义,我希望这次 useQuery 再次调用时没有变量,但它从未被调用。
我也尝试过设置空字符串,即使这样 useQuery 也没有被调用,这不是预期的行为
input: {
date: date||'',
},
最佳答案
当您传递给 useQuery Hook 的查询变量与先前的值相同时,Apollo-Cilent 有一个缓存机制。
文件: https://www.apollographql.com/docs/react/data/queries/沙盒: https://codesandbox.io/embed/usequery-example-apollo-client3-dx626
您可以通过使用 useQuery Hook 中内置的重新获取或轮询机制来解决此问题:
function Date({ date }) {
const { loading, data, error, refetch } = useQuery(GET_LIST, {
variables: {
input: {
date: date,
},
},
});
//...
return (<div>
<Component data={data} onDateChange={() => refetch()}/>
</div>)
}
或者,如果查询中的空/ undefined variable 没有特定用途,您可能不应该通过添加 {!input.date && <Date /> }
来呈现组件。或者通过添加 skip
不发送任何查询useQuery Hook 中的变量:
const { loading, data, error, refetch } = useQuery(GET_LIST, {
variables: {
input: {
date: date,
},
},
skip: !input?.date // <------ Skip the query when input.date is missing or empty
});
迟到的答案(我想你可能已经解决了这个问题),我在这里写一些笔记以防其他人遇到这个问题。
关于graphql - 当输入对象中的变量设置为未定义或空字符串时,useQuery 不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64370842/
我正在尝试用 Java 构建一个字符串,该字符串的长度最多为 3,最少为 1。 我正在根据整数数组的内容构建字符串,如果数组的内容为 -1,我想在字符串中输出一个空字符。否则字符串将包含整数的字符版本
我有一个类,其中有一个方法可以在字符串中包含 NUL 字符的情况下终止程序。具体表达是这样的: stringVar.indexOf('\u0000') < 0 这个字符串是通过 Scanner 从用户
我有一个 wchar_t 数组。我需要在数组中的特定位置添加一个 unicode 空字符。 wchar_t var1[100]; var1[79] = '\u0000'; 我尝试了上面的方法,但出现以
好吧,这听起来可能是重复的,但我已经尝试了所有可能性,例如 str.strip()、str.rstrip()、str.splitline (),还 if-else 检查像: if str is not
System.out.println("-----------------------------------------------------------"); System.out.pr
我有一个奇怪的问题。我从公司内部的许多不同应用程序接收数据,并将这些数据显示在网站上。根据发送数据的系统,数据本身可能在字符串中包含一些奇怪的字符。我的问题是我有一个用户可以搜索以允许其中包含此数据的
我遇到了 aSSL ,这似乎有几年历史了,想知道是否有人有其他“安全”AJAX 连接代码示例?显然,这不如使用 SSL 证书安全,但使用 null character SSL在那里进行攻击(最近针对
我有一个类似于以下内容的 pyspark 数据框: df = sql_context.createDataFrame([ Row(a=3, b=[4,5,6],c=[10,11,12], d='b
我有以下要执行的查询: MyModel.objects.annotate(current_name=Coalesce('nickname', 'name')).order_by('current_na
每当 rails 变量等于 nil(或者实际上每当我使用 rails 代码(参见第 3 个代码示例))时,我的 html 中就会得到一串空字符。 new.html.haml %h1.editable.
我是一名优秀的程序员,十分优秀!