【发布时间】:2020-05-13 06:34:21
【问题描述】:
我有一个 graphql 端点:QueryDataForOptions
我想根据组件的options 属性多次调用它。
可能有任意数量的选项。
我想做这样的伪代码,但钩子的规则不允许这样做:
const MyComponent = (options) => {
options.forEach(option => {
const {data, loading, error} = useQuery(QueryDataForOptions, {variables: {option}})
})
}
我也考虑过这个伪代码,但我不确定如何处理 data 被覆盖:
const MyComponent = (options) => {
const [getOptions, {data, loading, error}] = useLazyQuery(QueryDataForOptions)
options.forEach(option => {
getOptions({variables: {option}})
})
}
我知道正确的解决方案是更改 graphql 端点,但我想在客户端进行此更改。
如何多次调用同一个查询?
【问题讨论】:
-
你能告诉我们
QueryDataForOptions的样子吗? -
它是虚构的,但看起来像:Query.dataForOptions( option: Int! )DataForOptions!
标签: reactjs graphql react-hooks react-apollo