开发者社区> 问答> 正文

#React 您怎么说状态更新是合并的?

#React 您怎么说状态更新是合并的?

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

    当您在组件中调用setState()时,React会将您提供的对象合并到当前状态。例如,让我们以一个Facebook用户为例,将帖子和评论的详细信息作为状态变量,

    constructor(props) {
        super(props);
        this.state = {
          posts: [],
          comments: []
        };
      }
    
    

    现在,您可以使用以下单独的setState()调用独立更新它们,

    componentDidMount() {
        fetchPosts().then(response => {
          this.setState({
            posts: response.posts
          });
        });
    
        fetchComments().then(response => {
          this.setState({
            comments: response.comments
          });
        });
      }
    
    

    如以上代码片段所述,this.setState({comments})仅更新注释变量,而无需修改或替换posts变量。

    2020-05-08 11:09:45
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
利用编译将 Vue 组件转成 React 组件 立即下载
React Native 全量化实践 立即下载
React Native项目实战优化之路 立即下载