react-apollo
提供转换组件的道具来查询变量的能力:react-apollo - 如何从包装组件中设置查询变量?
<MyComponentWithData propsForQueryVariables={...} />
但我需要从包装组件变量开始查询。
喜欢的东西:
class MyComponent extends React.Component {
//...
onReady() {
// should be first request to server
this.props.refetch({
// variables here
})
}
onFilterChanged() {
this.props.refetch({
// new variables here
})
}
}
const MyComponentWithData = graphql(QUERY, {
options: {
waitUntilComponentStartQuery: true
// pollInterval:...
},
props({ data: { items, refetch } }) {
return {
items: items,
refetch: refetch
};
}
})(MyComponent);
UPDATE
QUERY
为MyComponent
看起来像
query getItems($filter: JSON!) {
items(filter: $filter) {
id
name
}
}
filter
是不能为空。所以第一个请求应该有有效变量filter
,并且这个变量应该在包装组件中创建。
使用graphcool我无法获得过滤器的工作,说明一个不能传递对象作为孩子等。任何想法从哪里去? –