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 - 仅从此 ajax 调用 php 脚本

javascript - React Native Redux - 将变量传递给调度

reactjs - react admin 中的自定义路由

listview - React Native - 当数据没有改变时强制 ListView 重新渲染

javascript - npm 错误!该操作被您的操作系统拒绝

javascript - 我可以在悬停时堆叠 highcharts 列而不突出整个系列吗

javascript - 在特定的div中加载第二个内容onclick

javascript - 带有 2 个模式的 html 输入模式

javascript - 如何在 React 中触发 useCallback

CSS 模块和 React 组件,我觉得我没有正确使用 CSS 模块并且我的样式发生冲突