如何在一个组件中使用两个apollo客户端操作

1 apollo react-apollo apollo-client

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

[getEvents, { data }] = useQuery(GET_EVENTS),
    [createEvent, { data }] = useMutation(CREATE_EVENT)
Run Code Online (Sandbox Code Playgroud)

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

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

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

Phi*_*ann 5

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

const[getEvents, { data: eventsData }] = useQuery(GET_EVENTS),
const[createEvent, { data: createdData }] = useMutation(CREATE_EVENT)
Run Code Online (Sandbox Code Playgroud)

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

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