Redux Saga is a fast-growing library with over 9,000 stars on GitHub. It lets you rapidly create asynchronous apps using a new tool called ES6 Generators. In this course, you'll learn about Redux Saga, ES6, testing, effects, and channels.
Introducing Redux Saga In this module we'll be introducing Redux Saga. We'll be laying out all the foundational information that you need to interact with this course and with Redux Saga in the most efficient manner. We begin this module with a simple, but important question, what is Redux Saga? First and foremost Redux Saga is Redux middleware. That means it needs to be added to a Redux store somewhere in the middleware chain for it to have any effect. Once it has been added as middleware it consumes the actions that come out of your application. In response, it occasionally dispatches other actions or creates side effects. Side effects include interactions with databases, with outside APIs, etc. Finally, unlike other middlewares, like Redux Thunk, Redux Saga maintains continuously-running processes, called sagas, to manage the logic of the application. Using these Sagas effectively is a large part of what using Redux Saga is all about, but what are sagas? In the next clip, we'll find out.
Asynchronous ES6 and Yield In this module we'll be learning about Asynchronous ES6 and Yield. Let's start with a quick introduction. First, we'll discuss the yield operator, what is it, and what are its advantages and disadvantages. We'll learn about generator functions and how they contain the yield keyword. After that we'll look into the yield keyword's strange relationship with ES6 promises, another tool used to get asynchronous performance. And finally we'll learn about how to wrap generators so that they'll work outside of a generator environment. In the next clip we'll discover what is yield.
Redux Saga Effects In this module we'll be discussing and learning about Redux Saga Effects. So first of all, we're going to understand effects, what are they, and how do we use them in our application? Then we're going to have a review of almost every Redux Saga effect and use them in our application. We're going to summarize the following effects over the course of this module, put, select, take, takeLatest, takeEvery, call, fork, and even a few more. We'll also be using the cancel effect to stop threads as opposed to starting them with different effects. In the next clip we'll start to learn about what effects are.
Channels In this module, we'll be discussing channels. Channels are utility provided by Redux Saga that allow us to do things that are more advanced than what can be done using effects alone. Here's what we'll be discussing in this module. First, we'll ask and answer the question, what are channels? Then we'll take some time, learning about and implementing action channels, generic channels, and event channels. Which make up three kind of channels provided by Redux Saga. After that's complete, we'll finish the remaining sagas. Effectively finishing our application all. In the next clip, we'll begin our discussion with action channels.
Testing Redux Saga Applications In this module we'll be discussing and applying testing Redux Saga applications. Specifically we'll discuss methods for testing Redux Saga applications, we'll understand the principles behind creating testable sagas, and then we'll run a couple of test that will exist right within our application. First, we'll discuss testing Redux Saga applications.