假设一个组件的状态如下:
{
a: { b: {c: 1, d: 1 }}
}我想改变a.b.c。我听说在React中我们应该用不可变的对象来改变状态。因此,我可能应该克隆state.a的对象,更改c字段并将其传递给setState
const newA = JSON.parse(JSON.stringify(this.state.a)); // could use other clone method, just for example
newA.b.c = 5 // change
this.setState({ a: newA })那么,最好的方法是什么呢?我是个新手。在Vue中,我们只需更改它,所有事情都会发生。我不知道React的原理。
发布于 2018-12-07 12:50:18
你的方法是正确的,我通常这样做……
const newA = {...this.state.a};
newA.b.c = 5;
this.setState({a:newA});https://stackoverflow.com/questions/53662945
复制相似问题