2016-07-11 7 views
1

Ähnlich, wenn wir ${Component.getFragment('fragment')} verwenden, gibt es eine Möglichkeit, ich kann einfach eine Variable mit einer gültigen Abfrage innerhalb eines Relay-Fragments concat. Ähnliches:Wie wird eine Variable in Relay-Fragment concat

const query = ` 
    allFriends { 
     id 
    } 
` 

Relay.createContainer(Component, { 
    fragments: { 
     viewer:() => Relay.QL` 
     fragment on Query { 
      allUsers { 
      id 
      } 

      ${query} 

     } 
     ` 
    } 
}); 

Vielen Dank!

Antwort

1

Das RelayQL-Plugin ermöglicht dies, indem Sie das Fragment als Variable definieren. See example here auf der RelayQL Dokumentation Seite oder siehe Beispiel unten:

Hier erstelle ich ein Fragment auf dem Email Typ und ich das Fragment in ein beliebiges Feld des Typs Email injizieren kann wie das Interview # E-Mail oder dem User # email:

const emailFragment = Relay.QL` 
    fragment on Email { 
    from 
    to 
    body 
    subject 
    } 
`; 

export default Relay.createContainer(Component, { 
    initialVariables: { 
    emailId: $emailId 
    }, 
    fragments: { 
    interview:() => Relay.QL` 
     fragment on Interview { 
     recordId 
     email { 
      ${emailFragment} 
     } 
     } 
    `, 
    viewer:() => Relay.QL` 
     fragment on User { 
     recordId 
     email(id: $emailId) { 
      ${emailFragment} 
     } 
     } 
    ` 
    } 
}); 
+0

Danke dafür! Ich habe das wirklich nicht in den Dokumenten gefunden:/Das hat mein Problem gelöst. –

Verwandte Themen