2016-10-02 16 views
26

अपोलो रिएक्ट डॉक्स http://dev.apollodata.com/react/queries.html#basics में घटक दिखाए जाने पर स्वचालित रूप से लाने के उदाहरण हैं, लेकिन जब कोई बटन क्लिक किया जाता है तो मैं एक क्वेरी चलाने के लिए चाहता हूं। जब कोई बटन क्लिक किया जाता है तो मुझे एक क्वेरी लाने के लिए "पुनः" उदाहरण का एक उदाहरण दिखाई देता है, लेकिन मैं इसे प्रारंभ में क्वेरी नहीं करना चाहता हूं। मुझे लगता है कि उत्परिवर्तन कॉल करने का एक तरीका है, लेकिन आप प्रश्नों को कैसे कॉल करते हैं? तब https://www.apollographql.com/docs/react/basics/setup.html#withApolloअपोलो ग्राफक्यूएल प्रतिक्रिया - क्लिक पर क्वेरी कैसे करें?

, आप वस्तु में है, इसलिए तरह से पारित कर दिया पर client.query कॉल कर सकते हैं:

उत्तर

35

आप अपोलो ग्राहक के लिए एक संदर्भ गुजर withApollo उच्च क्रम घटक का उपयोग करके यह कर सकते हैं के रूप में यहाँ प्रलेखित

class MyComponent extends React.Component { 
    runQuery() { 
    this.props.client.query({ 
     query: gql`...`, 
     variables: { ... }, 
    }); 
    } 

    render() { ... } 
} 

withApollo(MyComponent); 

जिज्ञासा से, एक क्लिक ईवेंट पर क्वेरी चलाने का लक्ष्य क्या है? शायद अंतर्निहित लक्ष्य को पूरा करने का एक बेहतर तरीका है।

+0

मैं इसे खोज बार – kayla

+0

के लिए उपयोग करना चाहता था, अगर मैं किसी ऐसे घटक पर इसका उपयोग करता हूं जिसमें माता-पिता पर gql एचओसी है, तो यह माता-पिता घटक WillReceiveProps को ट्रिगर करता है। कोई विचार क्यों नहीं। क्या कोई बेहतर तरीका है? शायद redux। –

+1

यह प्रोप अपडेट नहीं करता है? क्यूं कर? परिणाम सफलतापूर्वक आने के बाद मैं प्रोप कैसे अपडेट कर सकता हूं? – CharlesS

संबंधित मुद्दे