首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在按钮点击时使用graphql useQuery方法查询或手动查询

如何在按钮点击时使用graphql useQuery方法查询或手动查询
EN

Stack Overflow用户
提问于 2019-12-12 17:03:51
回答 1查看 101关注 0票数 0

页面加载查询工作正常,但我的要求是再次查询就像点击按钮一样。

代码语言:javascript
复制
const JOB_LIST_QUERY = gql`
query detail($userId: Int!) {
candidate(id:$userId){
  id
  selected:manageCandidates(status:5){
    id
    interviewType
    interviewDate
  }
 }
}
;`

const { loading, error, data } = useQuery(JOB_LIST_QUERY, {
variables: {
  userId: Number.parseInt(userId.toString()),
},
onCompleted: data => {
  setSelectedJobList(data.candidate.selected)
},
onError: error => {
  console.log(error.message)
}
});

单击按钮时,我想再次执行查询。有没有任何可能的方法在一个函数中声明,这样它就可以在按钮单击和页面加载时调用。

EN

回答 1

Stack Overflow用户

发布于 2019-12-12 18:34:53

你可以useLazyQuery钩子将返回一个函数,你可以手动调用,IE在组件加载或点击。

代码语言:javascript
复制
function Hello() {
  const [loadGreeting, { called, loading, data }] = useLazyQuery(
    GET_GREETING,
    { variables: { language: "english" } }
  );

  if (called && loading) return <p>Loading ...</p>

  if (!called) {
    return <button onClick={() => loadGreeting()}>Load greeting</button>
  }

  return <h1>Hello {data.greeting.message}!</h1>;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59300988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档