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>
)