React/setState 这样写可能导致数组更新但是视图不更新,即不执行render,

最近遇到一个问题,setState后页面不更新,换一种写法才可以,如下

    const { keyValArr } = this.state;
    keyValArr.push({
      FieldName: '',
      FieldTips: '',
      OrderNo: keyValArr[keyValArr.length - 1].OrderNo + 1,
    })

    // 这样写可能导致数组更新但是视图不更新
    // this.setState({
    //   keyValArr,
    // })

    this.setState({
      keyValArr: [...keyValArr],
    })

参考:https://www.cnblogs.com/xzsty/p/13044931.html