apollo初学者:无法从缓存中读取数据

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

我有这个代码来控制搜索字段的值

const GET_SHOP_FILTER = gql`
  query getFilter {
    name @client
  }
`;

class ShopSuggestBox extends Component {
    render() {
        return (
                <div>
                    <div className="name">
                        <Query query={GET_SHOP_FILTER}>
                            {({data, client}) => (
                                    <div>
                                        data is {JSON.stringify(data)}
                                    <input
                                           onChange={e => {
                                               client.writeData({data: {name: e.target.value}})
                                           }} ...//not relevant

我的问题是我收到了这些错误:

[GraphQL错误]:消息:无法在类型“查询”上查询字段“名称”。,位置:[对象对象],路径:未定义index.js:63 [GraphQL错误]:消息:未知指令“客户端”。,位置:[object Object],Path:undefined

我的理解是没有解释指令@client。我想念什么?

apollo react-apollo
1个回答
1
投票

问题在于,即使文档说不需要解析器,您也必须提供一个空的解析器才能使其工作。

我修改了代码如下(所以doc错了)

const client = new ApolloClient({
    //uri: "http://localhost:4000/graphql"
//  cache,

    clientState: {
        defaults: {
            name: "my",
            city: "",
            selectedId: null,
            previewId: null,
            selectedComplaintId: null,
        }, resolvers: {}
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.