Apollo client is a client library for interacting with GraphQL servers. It has many benefits over using a generic HTTP library like axios, such as being able to read and write data declaratively with React components right in our JSX and having caching switched on right out of the box.
In this section, we'll refactor what we built in the last section with axios to use Apollo, and then extend our app a little more to include a GitHub repository search.