In the preceding chapter, you learned about the architectural principles of Flux. In particular, you used the Redux library to implement concrete Flux concepts in a React application. Having a framework of patterns such as Flux in place to help you reason how state changes and flows through your application is a good thing. At the end of the chapter, you learned about the potential limitations in terms of scale.
In this chapter, we are going to walk you through yet another approach to handling state in a React application. Like Redux, Apollo Client can be used with both web and mobile React applications. Apollo Client is a React implementation of Apollo and relies on a query language called GraphQL, which is used to fetch resources and mutate them.
Unlike Redux, you don't have to write reducers and actions to deal with state management. Instead, Apollo provides...