Apollo GraphQL React - 如何查询点击?
问题描述:
在Apollo React文档http://dev.apollodata.com/react/queries.html#basics中有一些示例显示组件时自动提取,但我希望在单击按钮时运行查询。我看到一个例子,当单击按钮时“重新”获取查询,但我不希望它最初查询。我发现有一种方法可以调用突变,但您如何调用查询?Apollo GraphQL React - 如何查询点击?
答
您可以通过使用withApollo
高阶分量经过参考阿波罗客户做到,因为这里记载:https://www.apollographql.com/docs/react/basics/setup.html#withApollo
然后,您可以调用传入的对象,像这样client.query
:
class MyComponent extends React.Component {
runQuery() {
this.props.client.query({
query: gql`...`,
variables: { ... },
});
}
render() { ... }
}
withApollo(MyComponent);
出于好奇,在点击事件上运行查询的目标是什么?也许有一个更好的方法来实现基本目标。
我想用它作为搜索栏 – kayla
我发现如果我在一个父组件上使用gql HOC,它会触发父母componentWillReceiveProps。不知道为什么。 有没有更好的方法?或许还有。 –
这不会更新道具?为什么?结果成功后如何更新道具? – CharlesS