通过类函数间接更新状态

时间:2016-05-19 18:57:58

标签: react-native

我有一个类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");

看起来像一个灰色区域。

1 个答案:

答案 0 :(得分:1)

虽然您可以通过函数更新该对象的实例,但除非您调用this.setState,否则它不会帮助/影响组件状态。您可以从以前的状态创建新的状态对象,然后使用this.setState。您必须调用this.setState才能使组件采用新状态。