У меня есть два запроса:
const GET_FILTERS = gql`
query getFilters {
filters @client {
id
title
selected
}
}
`
И
const GET_POSTS = gql`
query getPosts {
posts {
id
author
status
}
}
`
Первый получает данные из локального состояния, используя apollo-link-state
, а второй - внешний вызов.
У меня есть 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>
)
Выбор постов в порядке, но я хотел бы добавить все, что возвращается из запроса GET_FILTERS
с каждым вызовом GET_POSTS
запроса?
Одна вещь, которую я мог бы сделать, это обернуть withPost
в другую, скажем, withFilters
HOC, и передать результат в GET_POSTS
запрос в виде переменных, ноМне было интересно, есть ли какой-либо другой способ доступа к этим данным через некоторый контекст и, например, cache.readQuery
, используя только withPost
HOC.