One part about dynamic data that we can see that might be important for an application such as this is input validation and error handling. Notice how in our application, if the email field is blank or we haven't entered a valid email, it will have a red outline. Otherwise, it will have a green outline. As you type a valid email address and select the next field, you can see that the red outline will change to green without hitting the server (except to save the data, as we discussed before). This is client-side validation, and it's extremely powerful when creating a streamlined user experience: the user does not have to hit save and wait for a server response in order to see whether they've entered incorrect data.
You might have noticed one detail when working with the Phone field: it's restricted to numbers. If you look at client/src/CustomerDetails.js, we've restricted the type to numbers here:
<Input name="phone...