Knowing what to expect
Property validation in React components is like field validation in HTML forms. The basic premise of validating form fields is that the user knows that they've provided a value that's not acceptable. Ideally, the validation error message is clear enough that the user can easily fix the situation. With React component property validation, we're trying to do the same thing—make it easy to fix a situation where an unexpected value was provided. Property validation enhances the developer experience, rather than the user experience.
The key aspect of property validation is knowing what's passed into the component as a property value. For example, if we're expecting an array and a Boolean is passed instead, something will probably go wrong. If you validate the property values using the built-in React validation mechanism, then you know that something unexpected was passed. If the component is expecting an array so that it can call the map()
method, it'll fail if a Boolean...