这个问题通常是因为refetchQueries没有正确设置。refetchQueries属性用于设置重新查询后需要更新的查询。正确设置refetchQueries属性可以解决这个问题。
代码示例:
import { useLazyQuery, gql } from '@apollo/client';
const GET_USER = gql query GetUser($id: ID!) { user(id: $id) { id name } }
;
function UserDetails({ userId }) { const [getUser, { loading, data, refetch }] = useLazyQuery(GET_USER, { variables: { id: userId }, refetchQueries: [{ query: GET_USER, variables: { id: userId } }] });
if (loading) return
Loading...
;return (
User details:
{data.user.id}
{data.user.name}
export default UserDetails;