Out of curiosity, I just wanna know what will happen if I use setState()
function in constructor of a Class in React Native or ReactJS?
Such as:
constructor(props) {
super(props);
this.setState({title: 'new title'});
}
what's the lifecycle of React gonna happen?
I haven't read the code inside React. I am afraid it will some any damage when I write it that way.
Best Answer
What
setState
essentially does is to run a bunch of logic you probably don't need in the constructor.When you go
state = {foo : "bar"}
you simply assign something to the javascript objectstate
, like you would any other object. (That's allstate
is by the way, just a regular object local to every component).When you use
setState()
, then apart from assigning to the objectstate
react also rerenders the component and all its children. Which you don't need in the constructor, since the component hasn't been rendered anyway.