Graphql 通过Apollo查询传递Apollo客户端缓存数据
我有两个问题:Graphql 通过Apollo查询传递Apollo客户端缓存数据,graphql,react-apollo,apollo-client,apollo-link-state,Graphql,React Apollo,Apollo Client,Apollo Link State,我有两个问题: const GET_FILTERS = gql` query getFilters { filters @client { id title selected } } ` 及 第一个是使用阿波罗链路状态从本地状态获取数据,第二个是外部调用 我有一个用于获取帖子的HOC设置,如下所示: const withPosts = (Component) => (props) => ( <Query
const GET_FILTERS = gql`
query getFilters {
filters @client {
id
title
selected
}
}
`
及
第一个是使用阿波罗链路状态从本地状态获取数据,第二个是外部调用
我有一个用于获取帖子的HOC设置,如下所示:
const withPosts = (Component) => (props) => (
<Query
query={GET_POSTS}
>
{({loading, data, error})} => {
if(loading) return null
if(error) return null
return <Component {...data} {...props}/>
}}
</Query>
)
constwithposts=(组件)=>(道具)=>(
{({加载,数据,错误})}=>{
if(加载)返回null
if(error)返回null
返回
}}
)
获取帖子很好,但我想做的是在每次调用GET\u posts
query时添加从GET\u FILTERS
query返回的内容
我能做的一件事是用post将
包装到另一个中,比如说用filters
HOC,并将结果作为变量传递给GET_POSTS
query,但我一直想知道是否有其他方法可以通过某种上下文访问该数据,例如cache.readQuery
仅使用with post
HOC.Apollo有许多(命名的)本地工具查询和更改以增强组件。依我看,它比使用query/mutaions组件更具可读性和强大功能
您可以通过将查询(筛选)值作为变量传递-当然,您可以将查询组件用于“内部查询”
当可以使用查询选项时,不需要直接使用缓存。如果使用上一个查询的内容进行重新蚀刻查询会怎么样?谢谢,这非常有用。经过一番研究后,我完全同意你的看法,那就是写作是一种方式。您能否举例说明如何使用data.fetchMore
?使用GET_FILTERS
和GET_POSTS
查询,其中GET_POSTS
接受变量FILTERS
,使用compose
和graphql
呈现任意组件POSTS
,我在
const withPosts = (Component) => (props) => (
<Query
query={GET_POSTS}
>
{({loading, data, error})} => {
if(loading) return null
if(error) return null
return <Component {...data} {...props}/>
}}
</Query>
)