我有两个问题:
const GET_FILTERS = gql`
query getFilters {
filters @client {
id
title
selected
}
}
`和
const GET_POSTS = gql`
query getPosts {
posts {
id
author
status
}
}
`第一个是使用apollo-link-state从本地状态获取数据,第二个是外部调用。
我有一个临时设置,用于获取这样的帖子:
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查询,但我一直在想,是否还有其他方法可以通过某种上下文访问数据,例如只使用withPost HOC的cache.readQuery。
发布于 2018-10-19 21:53:01
阿波罗有用于自组织模式的“原生”工具,您可以作曲许多(命名的)查询和突变来增强组件。IMHO --它比使用query/mutaions组件更具可读性和威力。
您可以通过data.fetchMore将查询(过滤器)值作为变量传递--当然,您可以使用查询组件来进行“内部查询”。
直接使用缓存并不是必需的,而查询‘缓存-第一’fetchPolicy选项可以使用。
https://stackoverflow.com/questions/52888708
复制相似问题