0

我正在通过 API 获取一些行并像这样分配状态变量

this.setState({
    rows: data,
    originalRows: data
})

现在我在过滤器方法中使用这些状态变量,我根据过滤器更改行数。

let rows = this.state.rows
filterFunction(){
    //filter logic, editing the variable rows
}

问题是,这也改变了值this.state.originalRows 如何避免改变那个状态值?

4

1 回答 1

1

实现这一目标的各种方法。

// rest-spread operator copies values to new object
const obj = {...this.state.originalRows} 

// merges your values to an empty object which works same way
const obj2 = Object.assign({}, this.state.originalRows) 

如果你只是写你的代码如下

const obj = this.state.originalRows

您只需创建reference一个原始变量,例如。指针并使用原始变量更改值。

于 2018-10-26T12:38:04.483 回答