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时,突变就会发生

相关推荐
带带弟弟学爬虫__1 分钟前
ks安卓—did注册
前端·javascript·vue.js·python·网络爬虫
sztian683 分钟前
JavaScript-----本地存储、数组中map方法、数组中join方法
开发语言·javascript·ecmascript
维维酱6 分钟前
使用 TRAE SOLO: 搭建前端项目脚手架
前端
南山安19 分钟前
JS 进阶:手写 instanceof 与JS继承全面讲解
javascript·面试·编程语言
恋猫de小郭19 分钟前
Android Studio Otter 2 Feature 发布,最值得更新的 Android Studio
android·前端·flutter
小旭@37 分钟前
vue3官方文档巩固
前端·javascript·vue.js
努力往上爬de蜗牛44 分钟前
electron 打包
前端·javascript·electron
美自坚韧1 小时前
qiankun微前端
前端·vue.js
高桥留1 小时前
可编辑的span
前端·javascript·css
GISer_Jing1 小时前
React Native 2025:从零到精通实战指南
javascript·react native·react.js