我有一个通用的过滤组件。当前,您提供了filterProps对象,因此我知道您要过滤的对象,我想减少此操作所需的代码量。我只希望提供过滤器类型,而不是提供过滤器字段,并且通过本地自省,我神奇地知道需要哪些字段。
cache.readQuery({
query: gql`
{
__type(name:"CarFilter"){
fields {
name
}
}
}
`
})
这似乎不起作用,并且会爆炸
不变违反:在对象上找不到字段__type({“ name”:“ CarFilter”})
"carFilter": {
"type": "id",
"generated": true,
"id": "$ROOT\_QUERY.carFilter",
"typename": "CarFilter"
}
对本地缓存类型的自省是否有效?难道我做错了什么?还是这是一个错误?
“ apollo-cache-memory”:“ ^ 1.6.2”,
“ apollo-client”:“ ^ 2.6.3”,
“ apollo-link”:“ ^ 1.2.12”,
“ apollo-link-context”:“ ^ 1.0.18”,
“ apollo-link-http”:“ ^ 1.5.15”,
“ apollo-link-ws”:“ ^ 1.0.18”,
“ apollo-utilities”:“ ^ 1.3.2”,
谢谢
我尝试使用__typename的多种变体编写查询,并且不按任何类型进行过滤。似乎没有任何作用。这些类型的查询在服务器上工作正常,但不适用于仅客户端数据
我希望看到类似这样的内容,但是代码只会引发异常。
{
"data": {
"__type": {
"fields": [
{
"name": "brand"
},
{
"name": "makeModel"
},
{
"name": "gasMileage"
},
{
"name": "firstProductionDate"
}
]
}
}
}