react apollo hooks

1、创建ApolloProvider来包装整个程序

TypeScript 复制代码
<ApolloProvider client={client}>
    <App />
<ApolloProvider>

2、useQuery查询

工作方式usequery将返回一个数组

TypeScript 复制代码
const {要返回的对象} = useQuery(传入参数)

实例

TypeScript 复制代码
const query = gql`
    query name {
        whatever {
            field
        }
    }
`

expoprt default function Pets () {
    const {data, loading, error } = useQuery(query)


}

3、useMutation突变

useMutation与useQuery不同,useQuery返回的是一个数组,不是对象

useMutation返回的数组中,第一个参数与useQuery不同,第二个参数即为useQuery的参数

TypeScript 复制代码
const [返回参数的数组] = useMutation(传递突变)

实例

TypeScript 复制代码
const [name, {data, loading, error}] = useMutation(...mutation)

//name为发生突变的实际函数
//执行name函数时,发生突变,而不是useMutation函数发生突变
TypeScript 复制代码
const query = gql`
    query name {
        whatever {
            field
        }
    }
`

expoprt default function Pets () {
    const {data, loading, error } = useQuery(query)
    const [name, {data, loading, error }] = useMutation(...mutation)

}

useQuery与useMutation的不同:

执行useQuery会直接进行查询

执行useMutation不会发生突变,突变是由useMutation中的name函数发生的,当执行name时,突变就会发生

相关推荐
Fighting_p3 分钟前
【记录】列表自动滚动轮播功能实现
前端·javascript·vue.js
前端Hardy4 分钟前
HTML&CSS:超炫丝滑的卡片水波纹效果
前端·javascript·css·3d·html
技术思考者8 分钟前
HTML速查
前端·css·html
缺少动力的火车9 分钟前
Java前端基础—HTML
java·前端·html
Domain-zhuo22 分钟前
Git和SVN有什么区别?
前端·javascript·vue.js·git·svn·webpack·node.js
雪球不会消失了26 分钟前
SpringMVC中的拦截器
java·开发语言·前端
李云龙I37 分钟前
解锁高效布局:Tab组件最佳实践指南
前端
m0_7482370541 分钟前
Monorepo pnpm 模式管理多个 web 项目
大数据·前端·elasticsearch
JinSoooo44 分钟前
pnpm monorepo 联调方案
前端·pnpm·monorepo
m0_748244961 小时前
【AI系统】LLVM 前端和优化层
前端·状态模式