https://github.com/redux-saga/redux-saga
As I said, I'm on the fence. Redux itself is for programs that get large enough, and interconnected enough, that you want a central place to manage global state. You add in sagas when you want to grow that to include all side effects.
It is really cool to use its debugger and look at every message that got passed, and how that changes the global state. But adding in the message passing system is really heavy: you have to connect the component to it, AND create an action for both the request AND the response, AND put the code in a separate "reducer", AND then the whole saga middleware magic, AND several other things.
So... keep it in the back of your mind. If nothing else, it's pretty cool to use generators for something.