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

相关推荐
阿蒙Amon1 小时前
TypeScript学习-第7章:泛型(Generic)
javascript·学习·typescript
睡美人的小仙女1272 小时前
Threejs加载环境贴图报错Bad File Format: bad initial token
开发语言·javascript·redis
fanruitian2 小时前
uniapp android开发 测试板本与发行版本
前端·javascript·uni-app
rayufo2 小时前
【工具】列出指定文件夹下所有的目录和文件
开发语言·前端·python
RANCE_atttackkk2 小时前
[Java]实现使用邮箱找回密码的功能
java·开发语言·前端·spring boot·intellij-idea·idea
摘星编程3 小时前
React Native + OpenHarmony:Timeline垂直时间轴
javascript·react native·react.js
2501_944525543 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 支出分析页面
android·开发语言·前端·javascript·flutter
jin1233224 小时前
React Native鸿蒙跨平台完成剧本杀组队详情页面,可以复用桌游、团建、赛事等各类组队详情页开发
javascript·react native·react.js·ecmascript·harmonyos
李白你好4 小时前
Burp Suite插件用于自动检测Web应用程序中的未授权访问漏洞
前端
经年未远5 小时前
vue3中实现耳机和扬声器切换方案
javascript·学习·vue