2016-10-29 4 views
6

Ich habe eine Komponente, die zwei völlig separate Tabellen abfragen muss. Wie müssen Schema, Abfrage und Resolver in diesem Fall aussehen? Ich habe gegoogelt, habe aber noch keine Beispiele gefunden. Vielen Dank im Voraus für jede Info.Apollo GraphQL: Mehrere Abfragen in einer Komponente?

UPDATE: Auf Slack ich dort sehe ein Weg sein kann compose für diesen Zweck verwendet werden, zB:

export default compose(
    graphql(query1, 
    ....), 
    graphql(query2, 
    ....), 
    graphql(query3, 
    ....), 
    withApollo 
)(PrintListEditPage) 

Gibt es eine Möglichkeit, mehrere Erklärungen wie diese haben:

const withMutations = graphql(updateName, { 
    props({ mutate }) { 
    return { 
     updatePrintListName({ printListId, name }) { 
     return mutate({ 
      variables: { printListId, name }, 
     }); 
     }, 
    }; 
    }, 
}); 

... die vor dem Anruf an export default compose kommen?

Antwort

15

Die Funktion graphql akzeptiert ein optionales zweites Argument, mit dem Sie den übergebenen Eigenschaftsnamen als Aliasnamen verwenden können. Wenn Sie mehrere Mutationen haben, können Sie die name Eigenschaft umbenennen mutate nach Bedarf:

import { graphql, compose } from 'react-apollo' 

export default compose(
    graphql(mutation1, { name: 'createSomething' }), 
    graphql(mutation2, { name: 'deleteSomething' }), 
)(Component) 

Weitere Details the complete API sehen.

Verwandte Themen