预期:我正在尝试访问变量中的状态数据并操作该变量。我将再次将处理的日期设置为 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。
繁星淼淼
SMILET
Cats萌萌
相关分类