开发者社区> 问答> 正文

#React 为什么功能优于对象setState()?

#React 为什么功能优于对象setState()?

展开
收起
因为相信,所以看见。 2020-05-07 19:24:22 572 0
1 条回答
写回答
取消 提交回答
  • 阿里,我所有的向往

    React可以将多个setState()调用批处理为一个更新,以提高性能。因为this.props和this.state可能被异步更新,所以您不应依赖于它们的值来计算下一个状态。

    此计数器示例将无法按预期更新:

    // Wrong
    this.setState({
      counter: this.state.counter + this.props.increment,
    })
    
    

    首选方法是setState()使用函数而不是对象进行调用。该函数将先前的状态作为第一个参数,而将更新时的props作为第二个参数。

    // Correct
    this.setState((prevState, props) => ({
      counter: prevState.counter + props.increment
    }))
    
    2020-05-07 19:25:03
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
利用编译将 Vue 组件转成 React 组件 立即下载
React Native 全量化实践 立即下载
React在大型后台管理项目中的工程实践 立即下载