栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在带有react

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在带有react

useQuery
是一个声明式的React Hook。它不具有经典的接收数据功能。首先,请确保了解React
Hooks或暂时不使用它们(Stackoverflow上90%的问题发生是因为人们试图一次学习很多东西)。Apollo文档对于
react-apollo
使用渲染道具的官方软件包非常有用。这也一样有效,一旦您了解了Apollo Client
Hooks,就可以进行一些重构。因此,您的问题的答案是:

如何多次调用useQuery?

您不会多次调用它。查询结果可用或更新时,组件将自动重新呈现。

我可以随时打电话吗?

不,只能在顶层调用钩子。而是从上部作用域(关闭)在您的函数中提供数据。

updateInformation
的突变可能会更新应用程序的缓存,这又触发了React组件的重新呈现,因为它已“订阅”到查询中。在大多数情况下,更新是全自动,因为阿波罗将通过组合标识的实体
__typename
id
。下面的一些伪代码说明了突变与突变如何协同工作:

const GET_USER_LIST = gql`  query GetUserList {    users {      id      name    }  }`;const UPDATE_USER = gql`  mutation UpdateUser($id: ID!, $name: String!) {    updateUser(id: $id, update: { name: $name }) {      success      user {        id        name      }    }  }`;const UserListComponen = (props) => {  const { data, loading, error } = useQuery(GET_USER_LIST);  const [updateUser] = useMutation(UPDATE_USER);  const onSaveInformation = (id, name) => updateUser({ variables: { id, name });  return (    // ... use data.users and onSaveInformation in your JSX  );}

现在,如果用户名通过突变更改,则Apollo将自动更新缓存并触发组件的重新呈现。然后,组件将自动显示新数据。欢迎使用GraphQL的强大功能!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/367395.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号