Hacker News new | ask | show | jobs
by acdlite 3606 days ago
When you call setState on a component, only that component's subtree is reconciled and re-rendered.
2 comments

That's in the virtual DOM. React will diff the VDOM and browser DOM and only render actual differences.

The React API will also let a component decide for itself if it should be rendered.

Okay. But how do you know what components to call setState on then? Is state spread over components, or is it stored centrally?
setState is a public API, usually triggered in response to a user event like a click or an input change event.

State in React is local to a component, but it can be passed down to a component's children in the form of props.

Centralized state can be achieved using a library like Redux, where an individual component subscribes to an external data store's changes. Redux abstracts the details away, but under the hood it's still just setState.