我正在使用一个名为PLANTS_QUERY的查询 我正在使用反应挂钩。并使用像这样的使用查询钩子
const { loading, error, data, refetch } = useQuery(PLANTS_QUERY);
我用这样的变量调用refetch函数
refetch(
{ where: { name_contains: value }}
);
它会重新提取,但不会将变量传递给查询,
我控制台记录了结果。在操场上奔跑时会传递变量。但是钩子提供的此功能不会传递变量
这是我的查询
const PLANTS_QUERY = gql`
query {
plants{
plant_name
is_active
}
}
`;
答案 0 :(得分:1)
据我所知,如果您正在使用useQuery
,则需要将要查询的变量作为参数传递给useQuery
钩子并重新执行,如果要在执行以下操作时更改变量,则只需执行原始查询再次调用相同的查询尝试useLazyQuery
,它将提供可用于触发带有新变量的查询的功能。
答案 1 :(得分:0)
尽管仅支持后端接受变量是不够的。将我的gql包装查询更改为接受变量可以解决我的问题。
const PLANTS_QUERY = gql`
query PlantQuery($where:PlantWhereUniqueInput){
plants(where:$where){
plant_name
is_active
}
}
`;
现在后端正在接收我要传递的变量