Kent C. Dodds: 0:00 We're going to create a really awesome set of components using the compound components pattern. I give you just a tiny bit of background for this one, and a link to a talk that I've given about how to think about these kinds of abstractions.
0:12 For our exercise I give you an idea of what the abstraction we want to create should look like, and what things look like right now. Right here, we've got a mass of props. Here we have a nice declarative API that can be reused all over our application.
0:29 Your job will be to create the components for modal, modal open button, modal contents, and modal dismiss button. These components should implicitly share state in a way that makes it so users of these components don't need to worry about that state that's managed internally, which should hopefully not only allow us to get rid of this half-baked abstraction that we have here, but also allow us to use modals throughout our application in a way that's truly reusable.
0:56 Feel free to read through the rest of this stuff. We're only working in a couple of files here. We do have a handful of extra credits that I welcome you to try out, and we'll see you on the other side of the exercise.