π΅ state #
A component needs state
when some data associated with it changes over time. For example, a Checkbox
component might need isChecked
in its state, and a NewsFeed
component might want to keep track of fetchedPosts
in its state.
The most important difference between state
and props
is that props
are passed from a parent component, but state
is managed by the component itself. A component cannot change its props
, but it can change its state
.
For each particular piece of changing data, there should be just one component that βownsβ it in its state. Donβt try to synchronize states of two different components. Instead, lift it up to their closest shared ancestor, and pass it down as props to both of them.