sey*_*yed 2 relayjs react-hooks
我如何跳过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
Run Code Online (Sandbox Code Playgroud)
eni*_*njo 10
您可以使用@skipor@include指令。如果按照指令条件查询最终为空,则不会发出网络请求。考虑这个例子:
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 />;
}
Run Code Online (Sandbox Code Playgroud)
EmptyuserId产生一个空,MaybeUserQuery导致没有网络请求。
| 归档时间: |
|
| 查看次数: |
2141 次 |
| 最近记录: |