使用空值初始化Apollo-Client会发出警告:{}中的缺少字段

时间:2019-03-28 02:53:34

标签: react-apollo apollo-client

我正在尝试使用一个空值初始化一个客户端查询,当用户选择一个元素时初始化一个writeData,并查询当前选择。

我当前收到错误消息:{}中缺少字段选择

如果我使用空字符串初始化选择,则错误消失。

定义客户端查询(typeDefs):

  extend type Query {
    isLoggedIn: Boolean!
    selection: String
  }

创建查询:

query SelectionQuery {
    selection @client
}

创建客户端:

const client = new ApolloClient({
    cache: new InMemoryCache(),
    link,
    initializers: {
        isLoggedIn: () => !!localStorage.getItem(AUTH_TOKEN),
        selection: () => null
    },
    typeDefs
})

写数据:

        <ApolloConsumer>
            {client => (
                <div onClick={() => client.writeData({ data: { selection: 'Test' } })}></div>
            )}
        </ApolloConsumer>

读取数据:

        <Query query={SelectionQuery}>
            {({ data: { selection } }) => (
                <div>{selection}</div>
            )}
        </Query>

0 个答案:

没有答案