I would like to avoid calling an API twice if I already have the data in my store.
How do I do this with Redux?
Don't reinvent caching, just leverage the HTTP cache.
Your code should be practically unaware of the caching mechanism.
Simply make the http request when you need the data, it doesn't matter if it is through redux thunks, promises, etc or directly without redux.
The HTTP cache will do the caching for you.
Of course for this to work you need to properly configure your server to set the appropriate caching parameters and validity.