Was ist Redux Saga
Wenn man in einer React Anwendung Redux für das State Management verwendet, ist oft der schwierigste Teil bei der Entwicklung einer App die Frage, wie man mit asynchronen Aufrufen umgeht - wie verwaltet man Netzwerkanfragen, Timeouts und andere Rückrufe, ohne die Redux-Actions und -Recuder zu verkomplizieren.
Grundsätzlich könnte man dafür die Actions verwenden und die Requests an dieser Stelle bearbeiten. Die Verwendung von Redux allein bringt dabei jedoch wenig Flexibilität mit sich. Im Kern ist Redux nur ein state container, der synchrone Datenflüsse unterstützt: Jedes Mal, wenn eine action an den state gesendet wird, wird ein reducer aufgerufen und der Zustand wird sofort aktualisiert.
Um dieses Problem zu lösen, bietet sich die dafür entwickelte Middleware Redux Saga an.
Ohne Redux Saga:
Action(s) -> Reducer(s)
Mit Redux Saga:
Action(s) -> Redux Saga -> Reducer(s)