Apollo 客户端乐观响应如何工作

Posted

技术标签:

【中文标题】Apollo 客户端乐观响应如何工作【英文标题】:how Apollo client optimisticResponse working 【发布时间】:2017-04-02 22:31:45 【问题描述】:

http://dev.apollodata.com/react/mutations.html

我正在尝试使用 optimisticResponse,但我很困惑......并且无法让它在我的本地运行。

我的问题是:

    optimisticResponse 会更新props 并因此重新渲染吗? __typename: 'Mutation'有多重要,你能留下吗? updateQueries 是为了新的记录出现吗?这个函数是自动触发还是需要调用?

有没有包括阿波罗服务器端的完整示例?

【问题讨论】:

【参考方案1】:

找到解决方案:

const networkInterface = createNetworkInterface('http://localhost:8080/graphql');
    this.client = new ApolloClient(
        networkInterface,
        dataIdFromObject: r => r.id
    
);

dataIdFromObject 是我在 Apolloclient 启动期间缺少的一件事

dataIdFromObject (Object) => string
A function that returns a object identifier given a particular result object.

它将为所有结果对象提供唯一的 ID。

【讨论】:

以上是关于Apollo 客户端乐观响应如何工作的主要内容,如果未能解决你的问题,请参考以下文章

在 Apollo v3 React 客户端 fe-retching 不同查询的情况下如何实现乐观 UI

Apollo 客户端:在创建过程中进行乐观更新

Apollo 客户端递归突变

Apollo GraphQL 乐观响应和更新商店问题

使用突变响应更新 apollo 客户端

如何从 Apollo 客户端的 useQuery 获取响应头