我在理解异步调用的概念时遇到了问题。如何在状态更新后调用异步函数?
我的状态:sentence: { author: '', context: '', date: '' }
然后,我有,在终极版更新的状态的功能:
edit(author, date) {
let { sentence } = this.props;
this.props.updateAuthor(sentence, author);
this.props.updateDate(sentence, date)
}
这些更新方法是不同的行动,并有不同的减速。
中更新的状态属性之后,我想这将数据发送到服务器:
function uploadToServer() {
this.props.upload(this.props.sentence);
}
我失去了在更新完成后,如何调用上传功能。
你应该做的是周围的其他方法,第一次上传了一句到服务器,然后响应是否成功的决心,承诺和更新状态。 现在,如果您只更新reducer,而没有使用updateAuthor和updateDate向服务器发出请求,则不必在上传前等待reducer。 – jmac
实际上,我的状态比这个大得多,内部对象我有不同的数据数组,并且在上传之前,到服务器上,我需要读取一些其他属性,比如id和一些这些数组,然后将它块大小,导致服务器拥有每个组块的不同URL。 –
您可以使用生命周期方法:* componentWillReceiveProps()*。每次连接的减速器都会更新,您将获得有关新道具的信息。 – jmac