Make Controlled React Components with Control Props
While the state reducer pattern gives users total control over how the state is updated internally to a component, it doesn't allow them to update state arbitrarily. Let's implement the control props pattern (found in built-in components like
<input /> through the
value prop) to give users complete control over the state of our component.