In previous chapters, we built up a single workflow. Application users can add new customers and then add an appointment for that customer. In this chapter, we'll expand on that by allowing them to choose an existing customer before adding an appointment.
The system that we're building has thousands of customers, so a simple dropdown won't cut it. Instead, we'll build a new component, CustomerSearch, which will allow our users to page through a dataset.

The server API we'll be working against supports a basic form of paging data that will allow us to build a search facility which can page back and forth between pages without having to load the entire dataset up front.
As we go through this process, we'll simulate the unwanted but common behavior of making a design mistake. We will then...