setState is asynchronous action
- If you need to use the updated state to do something, you should use a callback function in
setState
, so it will call after the state is updated:this.setState({data: newData}, () => console.log(this.state.data))
- If you wanna update the state with anything else, for example, set the '"title" to be "Hello", you can use the object in
setState
function, like this: this.setState({title: 'Hello'})
- But if you have to take the current state and use it to evaluate what to update, you should pass a function to
setState
function, so you will have access to the previous state and previous props. It will guarantees that you always get the latest update of the state or props:this.setState((prevState, prevProps) => {
return {count: prevState.count + 1}
}
)
Comments
Post a Comment