我有一个类Person,函数setName和getName。
var person = new Person("Johnny");
this.setState({personObj: person})
如果我调用this.state.personObj.getName();我按照预期得到约翰尼。
我知道你不应该直接更新状态EG this.state.name = 'Johnny'
但是使用类函数调用更新类
中的属性是不好的this.state.personObj.setName("Joe");
看起来像一个灰色区域。
答案 0 :(得分:1)
虽然您可以通过函数更新该对象的实例,但除非您调用this.setState,否则它不会帮助/影响组件状态。您可以从以前的状态创建新的状态对象,然后使用this.setState
。您必须调用this.setState
才能使组件采用新状态。