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); 

出于好奇,在点击事件上运行查询的目标是什么?也许有一个更好的方法来实现基本目标。

+0

我想用它作为搜索栏 – kayla

+0

我发现如果我在一个父组件上使用gql HOC,它会触发父母componentWillReceiveProps。不知道为什么。 有没有更好的方法?或许还有。 –

+1

这不会更新道具?为什么?结果成功后如何更新道具? – CharlesS