Consuming GraphQL endpoint using React

Consuming GraphQL endpoint using React
Guillermo Osores
February 13, 2020
React
Consuming GraphQL endpoint using React

In today’s article we are going to see how easy it is to use React-Apollo to consume the GraphQL endpoint we created in our previous article using AWS Lambda functions.

Let’s dive right into it.

First of all, we need to install Apollo libraries from NPM:



We need to tell Apollo where our endpoint is located. To do so we create a new Apollo client passing a configuration object in which we can set our uri:


Then we need to use ApolloProvider and set its client using the previously created one so all our components can access our GraphQL backend:


As you can see our app consists of an input which expect to be the id of the user you want to query. We use the useState hook to update our component based on its changes.

Using the render props pattern we created a UserContainer and a UserComponent.

The User container will be responsible for querying our backend with the id it receives from our app. In this case we use the Query component from React-Apollo library and set our render prop function. This function will be called with an object containing lots of properties: in our example we only used loading, error and data. The names are pretty much mnemotechnic: loading will be true while fetching data; error will not be null if something wrong happened; and data will have the information you were trying to get.

So inside the data property object there will be a property named as your query (in our case it is getUserInfo) which will be the response.


We send our data from our container to our component so we can handle the information on screen:


Contact Us

Ready to get started? Use the form or give us a call to meet our team and discuss your project and business goals.
We can’t wait to meet you!

Write to us!
info@vairix.com

OR
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Consuming GraphQL endpoint using React