 Now, our With Pokemon higher order component still has some opinions about rendering. This loading state is un-customizable. It would always render this div with three periods. It's not even a proper ellipsis. Now, to show you that higher order components and render props are not mutually exclusive, I'd like to use a render prop to customize this. We'll start with the implementation and get into an error state. We'll render this.props.renderLoading. Now, we haven't defined that prop where we're using it yet, so we're obviously going to get an error here. That said, it would be nice to present a default and react components have a very nice API for this. In my component, I can use the static keyword to define some static fields. In my case, I want to define default props. Now, this isn't something I'm making up. This is part of the react component API. And that's going to be an object. And here, I'm just going to define the render loading prop. It's a render prop, so it's going to be a function. And just to make it work, we can use the same dumb loading that we used before. Div loading...close it up. Now, let's prove that this is customizable by updating our application. We'll go down here to fetch components. Along with ID, we're going to pass in render loading as a prop. We pass in a function and some type of element. Here, I'll use a big H1 and the text fetching Pokemon. Close it up. Now, that was just too fast to be seen, so I'm going to go up and turn off my Wi-Fi for a second. So, Wi-Fi is off, we refresh, and fetching Pokemon, we have. All right, let's get that internet back on real quick. So, as a recap, we can now add this render loading render prop. And to implement that optional render prop, we use default props using the static keyword. We then just provide our default optional props, which is in this case, div with loading.