Will react merge the state updates for hooks too, like it does for setState
state={count:0}
increment = () => {
this.setState({count: this.state.count+1})
this.setState({count: this.state.count+2})
}
In Class component, the last setState
action will be taken into consideration.Since the state updates are shallow merged.
When you call setState(), React merges the object you provide into the current state.The merging is shallow.
Object.assign(
{},
{count: this.state.count+1},
{count: this.state.count+2}
)
the final result will be state = {count: 2}
In functional component ,
const [count,setCount] = useState(0)
const increment = () => {
setCount(count+1)
setCount(count+2)
}
The result is same as Class component count = 2
.
Does setCount
in useState hook will behave the same as setState
?, Will setCount(count+1)
ever execute?