你不知道的react更新状态this.setState细节点

首先我们需要了解一点,函数写法才是this.setState的原始写法,对象格式只是简洁语法格式。

(1)对象形式直接更新

  如下所示初始化状态state有两个,一个是rolesList所有角色列表,另一个是roleItem选中的角色

  这里注意:一个是数组,另一个是对象

  

  当我们后期更新roleItem是可以直接以对象写法更新,如下所示

  

  这里注意:roleItem是一个对象,直接更新即可,与之前状态无关

(2)函数形式返回新对象

如果是基于原本状态进行修改,则推荐使用函数语法格式

  如果更新数组,例如增删改查操作,则推荐如下写法

  

  仔细分析该写法我们不难看出,该种写法是基于原数组上进行修改的

  当然除了state,还有props参数

  

.

原文地址:https://www.cnblogs.com/fightjianxian/p/12627511.html