After digging around I thought I understood that a component's props cannot be updated by the component itself, although can be changed by the parent component. 

However I found this one section in react docs:

> 
> React may batch multiple setState() calls into a single update for performance.
>  Because this.props and this.state may be updated asynchronously, you should not rely on their values for calculating the next state. 
> 
> 
> 

So I am trying to interpret what this excerpt says with I have understood. If props is updated, then the update must come from parent component. If the update comes from a parent component, why is it possibly asynchronous?