【发布时间】:2019-09-16 04:51:21
【问题描述】:
关于 Apollo Client 和 GraphQL 查询的大部分信息都是关于获取数据并立即渲染的。
对于我想要获取数据以更新状态的常见用例,我显然不需要呈现 JSX,我只想运行 Javascript 代码。
以如下代码sn-p为例
onRefChange (formValues) {
let { project, ref } = formValues
let projectFound = find(this.state.projects, (o) => { return o.id === project.value } )
let variables = {
slug: projectFound.slug, ref: parseInt(ref)
}
console.info('variables ready', variables)
return (
<Query query={RESOLVE_REF} variables={variables}>
{ ({ data, error }) => {
console.info('data response', data)
console.info('error response', error)
return data
}}
</Query>
)
}
Apollo 强迫我使用 Query 组件来执行查询,即使我不想渲染任何东西。那些console.info 也从不记录任何东西,但变量就绪文本确实出现了。
我发现文档对使用Query 组件非常清楚,但对每个不同的选项都模糊不清。我觉得我错过了什么。
我还担心 Apollo 似乎不尊重职责分离,显然将数据和表示合并为单一职责(Query 组件很清楚),在我目前的理解中是相当的很傻,但很可能是我搞砸了。
感谢任何见解。
【问题讨论】:
标签: apollo react-apollo apollo-client