改变反应状态的单个变量

Tuo*_*nen 6 html javascript css design-patterns reactjs

是否允许在this.state.foo = "bar"不调用setState的情况下分配反应组件状态的单个变量?我需要在多个地方更改部分状态,并且我无法使用对象扩展运算符和Object.assign太冗长.如何在不重新定义整个州的情况下改变国家的一部分?

sdg*_*sdh 6

您应该使用setState而不是实例变量,因为重要的是React知道状态更改,以便它可以适当地触发渲染.

由于React在DOM上使用的差异算法,因此可以根据需要随时调用setState.

请注意,调用setState一个变量将保持其他变量不变:

this.setState({ foo: 'bar' }); // Does not change foo2
Run Code Online (Sandbox Code Playgroud)


Mic*_*ngo -2

就这样

this.setState({ foo: 'bar' )};
Run Code Online (Sandbox Code Playgroud)