更改在react中传递给setState的prevState是否安全?

时间:2019-11-28 03:56:45

标签: reactjs

例如,这是某种史诗般复杂形式的某些输入的onChange回调。

  someFormInputOnChange(e){
    this.setState((prevState, props)=>{
      prevState.form.someList[e.target.someIndex].someItem[e.target.someField] = e.target.value
      return prevState
    })
  }

可以将传递给它的prevState突变,然后返回此prevState吗?如果没有,为什么?

1 个答案:

答案 0 :(得分:0)

React使用setState中返回的结果来检查prevState是否与结果相同

如果您进行突变,React会认为它们是同一对象,并且不会重新渲染您的组件