 Hello again, I'm Chantastic and welcome to day number nine of React Holiday, our 25-day crash course into React. Today, we're going to talk about some gotchas with use effect. This is pretty scary actually, so I'm just going to show you, I'm just going to start logging out what we're doing on the network in our component right now using use effect. Now, you can't see this until I actually log this out, but I'm fetching Pokemon as fast as I possibly can from the network. Now, this is absolutely not what you want to do. So how do we fix this issue? Well, let's first of all, let's turn this off. Something you need to know about use effect is that by default, it's going to run every time we call use Pokemon. And sometimes we don't have control over how often use Pokemon gets called, as we can see from our little problem here. Now, what we can do is something that's really interesting and React gives us a second argument that we can pass to use effect. And this is, this tracks the inputs that we care about. And it's in the form of an array. So we give an array of all the things, the values that we want to track for changes. Now, if we just put an empty array in here, that changes the behavior to only run this function the first time it gets called, which is really fascinating. So now if we click next, we get nothing. Okay, it only runs the first time. Now, if we want to track this for changes, which is the typical behavior that we want, we say like, Hey, every time we get a new index, we then want to run this use effect. Well, we just put that inside of this array and hit save. And there we go. Now we can start logging again, and we'll see that instead of this run away use effect is just constantly going in the background. Now it's only going to get called when that index changes, which is the situation that we want. So just remember, typically, if you have some type of input for your use effect, you're going to want to track that value for changes. And you should be good to go.