2017-09-01 4 views
4

query screenshotAbfrage von GraphQL von Apollo-Client

const allTeamApplicants = gql` 
    query ($id: ID!) { 
    allApplicants(filter: { user: { id: $id } }) { 
     id 
     firstName 
     lastName 
     appliedPosition 
     applicationStage 
     isFormFilled 
     isContractSigned 
     email 
     phoneNumber 
} 

in app Reagieren web Ich benutze Apollo-Client für GraphQL aufgerufen wird. Jeder weiß, wie eine Abfrage mit Parametern in einem Ereignis aufgerufen wird, zum Beispiel möchte ich die Abfrage mit einem Parameter auslösen, wenn ein Benutzer auf eine Schaltfläche klickt.

Antwort

3

Um eine Abfrage in einem Ereignis zu nennen, statt wie in einer höheren Ordnung Komponente, sollten Sie:

Import withApollo Hoc

import { withApollo } from 'react-apollo'; 

Ihre Komponente mit withApollo

const component = withApollo(Component) 
Wickeln

In deiner Komponente erhältst du eine neue Requisite namens client und du kannst sie als Promise verwenden, wie zum Beispiel:

function eventHandler(idParam) { 
    client.query({ 
    query: gql` 
     query ($id: ID!) { 
     allApplicants(filter: { user: { id: $id } }) { 
      id 
      firstName 
      lastName 
      appliedPosition 
      applicationStage 
      isFormFilled 
      isContractSigned 
      email 
      phoneNumber 
     } 
     }`, 
     variables: { 
     // set the variables defined in the query, in this case: query($id: ID!) 
     id: idParam 
     } 
    } 
    }) 
    .then(...) 
    .catch(...) 
} 

weitere Informationen hier: http://dev.apollodata.com/react/api-graphql.html#withApoll o

Verwandte Themen