Why do we need these reusable controller components and how to build them? First lets explain what a controlled component is. Controlled component is a component which takes its current value from props, and notifies the parent of the chang...