 Hey, I'm Dan Tastic. This is React Holiday Day 17. Today we are extending our use reducer knowledge talking about actions. Now yesterday we introduced use reducer and all we did was replace our use of use state. Now use state is pretty simple because all it does is take new state and returns that on the that this value here. And I told you that there was going to be a little bit of a lie because we're not actually just taking new state. These reducers take an action, right? And the action is going to do something to the old state. These actions are objects that will have some type of payload data. So now that I've replaced all of this, I need to actually call this set Pokemon function with an action. So here, this is going to be action type, replace Pokemon. And the payload that we'll be using is our JSON. Now, typically, because we're not just doing one thing anymore, this is going to be dispatch. So by convention, we call this function dispatch, because it's going it's just kind of a generic term to say, hey, we're going to dispatch this action. Now that I've changed all of that to use the action payload, I can change this and everything still works. Now, what this allows us to do is it allows us to switch on action type. So now we can make this much more complex. So if we want to say, only do this if action dot type is replace Pokemon, otherwise throw a new error. Now, because we're using that replace Pokemon action, everything works. But as soon as we try to call dispatch with an action that doesn't exist, well, we just throw an error. So that is the second piece of use reducer that you need to know actions.