26
在Apollo React文檔http://dev.apollodata.com/react/queries.html#basics中有一些示例顯示組件時自動提取,但我希望在單擊按鈕時運行查詢。我看到一個例子,當單擊按鈕時「重新」獲取查詢,但我不希望它最初查詢。我發現有一種方法可以調用突變,但您如何調用查詢?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