【发布时间】:2020-02-27 09:28:17
【问题描述】:
预期:我正在尝试访问变量中的状态数据并操作该变量。我将再次将操纵日期设置为 setstate。
问题:当我将状态分配给变量时,而不是仅仅复制状态中的数据,它会成为状态本身的副本,因此当我操作数据时,状态本身就会发生变化。
注意:在下面的代码中,tmpData.splice 是我更改 tmpData 变量时状态发生变化的地方。
onRowAdd: newData => new Promise(resolve => {
setTimeout(() => {
{
const { data } = this.state;
const tmpData = data;
const tmpRowData = this.getRowData(this.state.valorenVal ? this.state.valorenVal : newData.nr ? newData.nr : '');
if (tmpRowData.length >= 1) {
if (newData.number && tmpRowData[0].nr) {
tmpRowData[0].number = newData.number ? newData.number : '';
tmpData.splice(tmpData.length, 0, tmpRowData[0]);
this.setState({ data: tmpData }, () => resolve());
this.setState({ valorenVal: '' });
} else {
this.setState({ data }, () => resolve());
}
} else {
this.setState({ data }, () => resolve());
}
}
resolve();
}, 1000);
}),
我是 React 新手,这可能是一个愚蠢的问题,但你的回答将帮助我更好地理解 React。
【问题讨论】:
标签: javascript reactjs react-redux state react-props