【问题标题】:How to use two apollo client operations in one component如何在一个组件中使用两个 apollo 客户端操作
【发布时间】:2020-02-29 12:11:27
【问题描述】:

我正在使用 apollo 客户端 v2.6,并且正在使用 @apollo/react-hooks 与我的 graphql 查询和突变进行交互。 我遇到的问题是在一个组件中进行多个 apollo 操作。我可以执行查询和突变,但从下面的代码中检索问题所在的数据

[getEvents, { data }] = useQuery(GET_EVENTS),
    [createEvent, { data }] = useMutation(CREATE_EVENT)

您注意到,为了从操作中获取数据,我必须使用 data 属性,但我得到的错误是

解析错误:标识符“数据”已被声明

那么有没有另一种方法可以让我从操作中获取数据而无需使用两次数据 提前致谢

【问题讨论】:

    标签: apollo react-apollo apollo-client


    【解决方案1】:

    您可以内联重命名数据,如下所示:

    const[getEvents, { data: eventsData }] = useQuery(GET_EVENTS),
    const[createEvent, { data: createdData }] = useMutation(CREATE_EVENT)
    

    或者只使用调用而不进行解构:

    const [getEvents, eventsData] = useQuery(GET_EVENTS),
    const [createEvent, createdData] = useMutation(CREATE_EVENT)
    // access:
    eventsData.data
    createdData.data
    

    【讨论】:

    • 我尝试过类似的方法,效果很好
    猜你喜欢
    • 2021-12-06
    • 2018-02-09
    • 2017-04-07
    • 2020-06-21
    • 2012-09-07
    • 2018-08-25
    • 2021-02-17
    • 2021-02-27
    • 2021-03-05
    相关资源
    最近更新 更多