是否有理由使用prevState如下:
sort=()=>{
this.setState(prevState =>({contacts: [...prevState.contacts].sort(compareNames)}))
}
或者可以使用:
sort=()=>{
this.setState({contacts: [...this.state.contacts].sort(compareNames)})
}
答案 0 :(得分:1)
React可以将多个
setState()
个调用批处理为一个更新 性能因为
this.props
和this.state
可以异步更新,所以 不应该依赖它们的值来计算下一个状态。// Wrong this.setState({ counter: this.state.counter + this.props.increment, }); // Correct this.setState((prevState, props) => ({ counter: prevState.counter + props.increment }));