I understand the concept of the Controlled component however when I think about it deeply why do we actually need it if we are using onChange method.because everytime we make some change the value of that change will be in the state so there will be a one source of truth either way. why do we need value for making it a controlled component?
<input
    name="username"
    onChange={this.onChange}
    value={this.state.username}
    type='text'
    placeholder="Full Name"
 />
 
     
     
    