I see your needs since I was in your place a couple of days ago.
The sad news is: if you want to use actions with graphQL , then you should not use apollo , just use graphQL directly. This is a very good article to guide you through starting with Redux and GraphQL . What for? Because Apollo uses a function called qraphql(query) , which calls its own action.
Like Redux , and apollo work very simplified.
Redux: (User submits an action) ActionCreator -> Action -> Middleware -> reducer -> store -> binds data to the user's details. And we control each state manually.
Apollo: (The user passes the request / mutation to graphql(query) ) all hidden (action β store), and then binds the data to the user's details.
You can say that Apollo replaces Redux if you use graphQL because it has better integration with reaction and graphQL .
In the meantime, as Apollo is still evolving, you may need a shorthand for redux form and so on. If you're used to some abbreviation libraries that you might want to consider continuing to use abbreviations besides Apollo, you can still link your stores and add middleware that probably applies to both, but you're probably not You will receive data using Redux actions through Apollo.
I know that it looks like you are losing reductions, but you get all the benefits with more asynchronous requests and caching that Apollo cares about.
and if you need a place to run response-redux-apollo .
source share