我是reactjs框架的新手,如果在API调用后状态发生变化,那么在侦听的正确方法中我会有一些困惑。
通过then
致电catch
后,使用action
和componentDidUpdate
:
componentDidMount(){
this.props.getHero(this.props.params.id).then((result) => {
this.props.initialize({
"name":result.name,
"description": result.description
});
})
.catch(error => {
});
}
或通过componentWillUpdate
// Call the getHero action (API)
componentDidMount(){
this.props.getHero(this.props.params.id);
}
// Then listen if the state change via `mapToStateProps`
componentDidMount(){
this.props.getHero(this.props.params.id);
}
componentWillUpdate(){
this.props.initialize({
"name":this.props.heroes.name,
"description": this.props.heroes.description
});
}
答案 0 :(得分:2)
中加载数据在呈现新的道具或状态时,会立即调用componentWillUpdate()。 将此作为在更新发生之前执行准备的机会。初始渲染不会调用此方法。
装载组件后立即调用componentDidMount()。需要DOM节点的初始化应该放在这里。 如果您需要从远程端点加载数据,这是实例化网络请求的好地方。在此方法中设置状态将触发重新渲染。