0 votes
in ReactJS by

Why is setState() in React Async instead of Sync?

1 Answer

0 votes
by

setState() does not immediately mutate this.state but creates a pending state transition. Accessing this.state after calling this method can potentially return the existing value. There is no guarantee of synchronous operation of calls to setState and calls may be batched for performance gains.

This is because setState alters the state and causes rerendering. This can be an expensive operation and making it synchronous might leave the browser unresponsive. Thus the setState calls are asynchronous as well as batched for better UI experience and performance.

Related questions

0 votes
asked Mar 1, 2020 in ReactJS by RShastri
0 votes
asked Jul 2, 2019 in ReactJS by Venkatshastri
...