gpt4 book ai didi

react-hooks - 如何跳过 `useLazyLoadQuery` 中的请求

转载 作者:行者123 更新时间:2023-12-05 09:10:54 24 4
gpt4 key购买 nike

如何在 useLazyLoadQuery 中跳过请求/查询。

import { useLazyLoadQuery } from 'react-relay/hooks';

const id = props.selectedId // id can be a number or null
const user = useLazyLoadQuery(query, {id}) // skip query/request network if id is null

最佳答案

您可以使用 @skip or @include directive .如果在指令条件下查询最终为空,则不会发出网络请求。考虑这个例子:

import { useLazyLoadQuery } from 'react-relay/hooks';

function MaybeUser(props) {
const { userId } = props;
// 👆 is optional/nullable

useLazyLoadQuery(
graphql`
query MaybeUserQuery($userId: ID!, $skip: Boolean!) {
user(id: $userId) @skip(if: $skip) {
fullName
}
}
`,
{
userId: userId || '', // we need to pass something because of the query $userId type decleration
skip: !userId, // skip when there is no user ID
},
);

return <magic />;
}

空的 userId 会产生一个空的 MaybeUserQuery,导致没有网络请求

关于react-hooks - 如何跳过 `useLazyLoadQuery` 中的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60708205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com