如何避免在反应中共享变量的内存?

How to avoid memory sharing of variables in react?

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

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

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

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

问题是,这也会改变 this.state.originalRows 的值 如何避免更改状态值?

实现此目的的各种方法。

// 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 到原始变量,例如。指针并更改原始变量中的值。