改变反应状态的单个变量

时间:2016-07-04 11:00:16

标签: javascript html css design-patterns reactjs

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

2 个答案:

答案 0 :(得分:6)

您应该使用setState而不是实例变量,因为React了解状态更改以便它可以适当地触发渲染非常重要。

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

请注意,在一个变量上调用setState会使其他变量保持不变:

this.setState({ foo: 'bar' }); // Does not change foo2

答案 1 :(得分:0)

就像那样

this.setState({ foo: 'bar' )};