我正在使用@client指令从具有本地状态的Redux客户端迁移到Apollo客户端。我面临的最大问题是,我找不到在客户端上使用@client指令显示如何将JSON用作参数的示例。我认为它应该使用graphql-type-json标量类型工作,但是没有示例说明如何结合使用Apollo client的@client指令。
我想做这样的事情(考虑modalProps参数的JSON类型):
export const MUTATION_SHOW_MODAL = gql`
mutation ShowModal($modalType: String!, $modalProps: JSON! ) {
showModal(modalType: $modalType, modalProps: $modalProps) @client
}
`
const resolvers = {
Mutation: {
showModal: (root: any, { modalType, modalProps }: any, { cache }: any) => {
const data = {
modalType,
modalProps
}
cache.writeData({ data })
return null
}
},
}
我正在寻找一个示例,该示例说明如何像在Redux中一样在缓存/存储中使用随机JSON。非常感谢您的帮助。