我有这段代码来控制搜索字段的值
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错误]:消息:未知指令“客户端”。,位置:[对象对象],路径:未定义
我的理解是指令@client不会被解释。我想念什么?
答案 0 :(得分:1)
好
问题是,即使文档说不需要解析器,您也必须提供一个空的解析器才能使它起作用。
我修改了以下代码(因此doc是错误的)
const client = new ApolloClient({
//uri: "http://localhost:4000/graphql"
// cache,
clientState: {
defaults: {
name: "my",
city: "",
selectedId: null,
previewId: null,
selectedComplaintId: null,
}, resolvers: {}
}
});