Verbose vernacular
Before I start going into more depth on data dependencies and mutations, I think it makes sense for me to throw some general Relay + GraphQL terminology definitions out there.
- Relay: A library that manages application data fetching and data mutations and provides higher-order components that feed data into our application components
- GraphQL: A query language used to specify data requirements and data mutations
- Data dependency: An abstract concept that says a given React component depends on particular data
- Query: A query is the part of a data dependency, expressed in GraphQL syntax and executed by an encapsulated Relay mechanism
- Fragment: A part of a larger GraphQL query
- Container: A Relay React component that passes fetched data into the application React component
- Mutation: A special type of GraphQL query that changes the state of some remote resource, and Relay has to figure out how to reflect this change in the frontend once it completes
Confused yet? Good. Let's quickly...