无法转换/归一化/修改GraphQL查询的响应-Apollo客户端

问题描述 投票:0回答:1

任何人都拥有修改响应数据的固件的经验吗?

  const parseResponse = new ApolloLink((operation, forward) => {
    return forward(operation).map((response) => {
      response.data.parsed = transformData(response.data)
      return response
    })
  })
  const link = parseResponse.concat(networkLink)

这在websockets事件上效果很好-将数据转换后,添加到数据parsed中的此response.data字段中,但是在常规<Query...请求中,已解析的字段将被删除,因此组件无法读取它。我已经确认在查询请求中正确调用了此方法,并且也添加了parsed字段,但是在固件和组件之间的某个地方parsed字段被剥离了

javascript graphql apollo apollo-client
1个回答
0
投票

[Apollo Client v3引入了customizing the behavior of cached fields的功能:

您可以自定义Apollo客户端缓存中各个字段的读取和写入方式。为此,您可以为给定字段定义FieldPolicy对象。您可以将FieldPolicy对象嵌套在与包含该字段的类型对应的任何TypePolicy object中。

这里是将日期字符串解析为Date对象的方法:

TypePolicy
© www.soinside.com 2019 - 2024. All rights reserved.