Javascript Apollo客户端-当查询';什么是变量变化?
我想探索在一个请求中获取页面所需的所有数据的模式。假设我有一个用户配置页面,它需要一个团队列表来分配用户,以及一个用户可以拥有的角色列表。我使用下面的查询来获取用户以及所有可用角色和团队的第一页Javascript Apollo客户端-当查询';什么是变量变化?,javascript,reactjs,graphql,apollo,Javascript,Reactjs,Graphql,Apollo,我想探索在一个请求中获取页面所需的所有数据的模式。假设我有一个用户配置页面,它需要一个团队列表来分配用户,以及一个用户可以拥有的角色列表。我使用下面的查询来获取用户以及所有可用角色和团队的第一页 import { gql } from "@apollo/client"; const listUser = gql` fragment listUser on Query { users(page: $page, per: $per) { edges { no
import { gql } from "@apollo/client";
const listUser = gql`
fragment listUser on Query {
users(page: $page, per: $per) {
edges {
node {
id
name
title
avatar
}
}
pageInfo {
count
}
}
}
`;
const roleFragment = gql`
fragment roleFragment on Query {
roles {
name
id
}
}
`;
const teamsFragment = gql`
fragment teamsFragment on Query {
teams {
nodes {
id
name
manager {
name
}
}
}
}
`;
export const getUserConfig = gql`
query getUserConfig($page: Int, $per: Int) {
...listUser
...roleFragment
...teamsFragment
}
${listUser}
${roleFragment}
${teamsFragment}
`;
我这样使用它(使用graphql codegen生成):
这非常有效,允许我在一次往返中获取页面所需的数据。但是,每当我为用户更改页面变量(显然要转到下一页),它都会重新蚀刻所有内容。有没有一种方法可以这样做,使它只重新蚀刻已更改的片段?还是有更好的模式来实现我的目标?谢谢 不使用useQuery挂钩,您可以直接使用直接查询初始数据,然后在页面的子组件中订阅数据子集的更新
您可以查看一系列不同客户端方法的示例代码。不使用useQuery挂钩,您可以直接使用直接查询初始数据,然后在页面的子组件中订阅数据子集的更新 您可以查看一系列不同客户端方法的示例代码
const { loading, error, data, refetch } = useGetUserConfigQuery({
variables: {
page: 1,
per: 7,
}
});