我有一个非常简单的组件,可以使用axios设置状态值。但是,状态值正在render方法中更改。
constructor(props) {
super(props);
const { navigation } = this.props;
const approveID = navigation.getParam('approveID', '0');
this.state = {
selectedApprove: approveID,
reason: '',
};
}
componentDidMount() {
const { navigation } = this.props;
const tenantID = navigation.getParam('tenantID', '0');
this.getReviewApp(tenantID);
}
getReviewApp(tID) {
axios.get('http://myserver/getData', {
params: {
method: 'getApplicantReview',
tenantID: tID
}
}).then((response) => {
const result = response.data.DATA[0];
this.setState({
selectedApprove: result[0],
reason: result[1]
});
}).catch((error) => {
// handle error
console.log(error);
});
}
...
render() {
console.log(this.state);
...
}
当我运行该应用程序时,控制台显示2次。首先是完美的: 对象{ “ reason”:“ Test”, “ selectedApprove”:“是”, }
第二个日志具有空值,它弄乱了我的组件: 对象{ “原因”:null, “ selectedApprove”:null, }
为什么会这样?
谢谢
答案 0 :(得分:1)
响应对象的外观不能像您认为的那样。