为什么我在 useQuery 的所有数组对象中为某个字段获取相同的值?
Why I am I getting the same value for a field in all of my array objects for useQuery?
我有一个 useQuery returns 插入第一项的数据。对于上下文,我有一个包含杂货产品的电子商务网站,假设我添加了一个数量为 4 的苹果。接下来,当我添加另一个数量为 10 的订单时,它会正确添加到数据库中,并且我在 apollo playground 中得到了正确的结果。但是,当我在 Apollo 客户端中使用以下代码提取数据时,它具有该用户的所有订单,订单 ID 不同,但具有为苹果制作的第一笔订单的数量。
const { loading, error, data } = useQuery(queries.GET_USER_ORDERS, {
fetchPolicy: "cache-and-network",
variables: {
userId: currentUser.uid,
},
});
Graphql 查询:
const GET_USER_ORDERS = gql`
query Query($userId: String) {
userOrders(userId: $userId) {
_id
userId
products {
_id
name
price
orderedQuantity
}
status
createdAt
flag
total
}
}
`;
基本上我看到了所有产品,但每个产品的数量为 4 个。我该如何解决这个问题?
更改提取策略
fetchPolicy: "no-cache",
同时检查您是否在新订单下单变更后更新此查询结果(如果您是,则可能会导致使用错误的值进行更新)
如果你设置 fetchPolicy: "no-cache"
你不必在 mutation
后更新查询结果
我有一个 useQuery returns 插入第一项的数据。对于上下文,我有一个包含杂货产品的电子商务网站,假设我添加了一个数量为 4 的苹果。接下来,当我添加另一个数量为 10 的订单时,它会正确添加到数据库中,并且我在 apollo playground 中得到了正确的结果。但是,当我在 Apollo 客户端中使用以下代码提取数据时,它具有该用户的所有订单,订单 ID 不同,但具有为苹果制作的第一笔订单的数量。
const { loading, error, data } = useQuery(queries.GET_USER_ORDERS, {
fetchPolicy: "cache-and-network",
variables: {
userId: currentUser.uid,
},
});
Graphql 查询:
const GET_USER_ORDERS = gql`
query Query($userId: String) {
userOrders(userId: $userId) {
_id
userId
products {
_id
name
price
orderedQuantity
}
status
createdAt
flag
total
}
}
`;
基本上我看到了所有产品,但每个产品的数量为 4 个。我该如何解决这个问题?
更改提取策略
fetchPolicy: "no-cache",
同时检查您是否在新订单下单变更后更新此查询结果(如果您是,则可能会导致使用错误的值进行更新)
如果你设置 fetchPolicy: "no-cache"
你不必在 mutation