Redux Observable Loops
You can make redux complicated but at the most fundamental level, you have a view layer that lets you fire actions that can update the state. There is middleware and actions hit reducers which update the store, but let’s consider those implementation details. Practically speaking, it’s a tiny action loop where
View > Action > State.
Redux observable introduces a separate action loop that runs alongside the tiny loop. The view layer lets you fire actions that trigger epics, which can fire off more actions, that can update the state. So it’s
View > Action > Epic > Action > State.
This diagram helped me put all this all together.
A few important details:
- All actions will run through the tiny loop before they run through the epic loop.
- All Epics must return an action or it’s doom.
- If your epic returns the same action it received, you will create an infinite loop of doom.
- If your epic returns an uncaught error its doom again.