首页 > 解决方案 > 反应 setState 覆盖数组状态

问题描述

我下面的代码是覆盖我的数组而不是在数组顶部添加。我不知道为什么会这样。

state = { someArray: [] };

onButtonClick = () => {
  this.setState((state, props) => ({
    someArray: [...state.someArray, props.element]
  }));
};

标签: reactjs

解决方案


这是因为您没有传播someArray. 尝试这个:

onButtonClick = () => {
  this.setState((state, props) => ({
    someArray: [...state.someArray, props.element]
  }));
}

推荐阅读