javascript - 修改嵌套状态无法更新

标签 javascript reactjs

为什么 setState 对我不起作用?

在发生更改事件时,我正在为数组设置状态。

handleonChange(x) {
    var newArray = ['Hello', 'Dear'];

    const clonedState = Object.assign({}, this.state);

    clonedState.trans.value = x;
    clonedState.accList = newArray

    this.setState(clonedState);
}

它更新了 trans.value,但 accList 未设置。

最佳答案

为什么不尝试使用此语法设置状态(这样您就不必克隆对象,只需声明您希望如何改变状态)

this.setState(previousState => {
  trans:
    {
      ...previousState.trans,
      value: x,
    },
  accList: newArray
});

关于javascript - 修改嵌套状态无法更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56009861/

相关文章:

javascript - 使用 array.prototype.fill 而不是 array.prototype.push

javascript - 如何映射轮播的子项数组?

javascript - React 项目中的 Bootstrap 需要 jQuery

javascript - DatePicker:尝试设置日期时出错

javascript - 如何在 GraphQL 中处理错误并发送响应

css - 在 React 的嵌套 map 上使用 CSS nth-child

javascript - fetch() 和 window.fetch() 有什么区别?

android - react 导航 3 : Back button in Android doesn't back to previous screen

javascript - 图像在 IE8 中不渲染

javascript - Firebase 请求行范围