【发布时间】:2017-09-17 21:54:38
【问题描述】:
假设我有这部分代码:
export default graphql(MyQuery, {
options: (props) => ({
variables: {
var1: props.var1,
var2: props.var2,
var3: props.var3
/* I want to do this:
if (props.var4 == "Donot query") /* Cancel this query; */
*/
}
})
})(DumbComponent)
可以这样做吗? 原因是我的 props 是由 Redux store 注入的。某些查询需要对 var1 和 var2 进行组合更改,例如获取正确的数据。但是,有时某些操作只会更改 Redux 中的 var1,这会触发 graphql 查询并产生不正确的数据。对于这些情况,我想取消查询。
我知道这个问题可以通过设计来解决。这意味着我们可以在 Redux 中单独创建查询所需的一组变量,任何操作触及这个集合,都需要触及集合中的个体。
但是,这样做需要 Redux 了解特定的 graphql 查询,从而形成紧密耦合。
【问题讨论】:
标签: redux graphql apollo react-apollo