是否允许在不调用setState的情况下分配像this.state.foo = "bar"
这样的反应组件状态的单个变量?我需要在多个地方更改部分状态,并且我无法使用对象扩展运算符和Object.assign太冗长。如何在不重新定义整个州的情况下改变国家的一部分?
答案 0 :(得分:6)
您应该使用setState
而不是实例变量,因为React了解状态更改以便它可以适当地触发渲染非常重要。
由于React在DOM上使用的差异算法,因此可以根据需要随时调用setState
。
请注意,在一个变量上调用setState
会使其他变量保持不变:
this.setState({ foo: 'bar' }); // Does not change foo2
答案 1 :(得分:0)
就像那样
this.setState({ foo: 'bar' )};