systemdebt
systemdebt

Reputation: 4941

State of child components in React

Should child components never have a state in React? I understand that state should be maintained by the "wrapper container" or parent container and it should have unidirectional flow. I have started with React and have a header container with upto 10 child components.

Let's say one of the child component is a Form with a submit button that can be enabled or disabled.

Should this child component not be able to have a constructor with state initialized for the button and be able to directly manipulate it or is it important that I maintain states as minute as this in the wrapper container "only"?

Upvotes: 2

Views: 436

Answers (2)

Ming
Ming

Reputation: 4290

The purpose of React is providing a component system to front-end. It does not specify/enforce how state flow. People generally prefer state-less components because it is easier to share and distribute. However, front-end component can never be fully state-less + declarative.

In my opinion, you should feel free to use this.state to manage local state when you feel appropriate.

Upvotes: 1

Tim McIntire
Tim McIntire

Reputation: 83

You should let the parent container manage the state of forms. I usually attach an onChange listener to each input and then when the submit button is clicked I call a function in the parent component to submit the value contained in the state for my form inputs. The form should only render inputs and do nothing else, basically a dumb component.

Upvotes: 1

Related Questions