我有一个React / Redux应用程序,它具有日期选择器。
以下是我的代码的简化版本:
handleChangeDate(date) {
// First, I set the new date in my redux store
this.props.actions.setDate(date);
// Check some condition
if(a !== b) {
// I then call a callback function that is passed as a prop from the parent component
return this.props.someCallBackFunction();
}
}
以下是发生的事情:
someCallBackFunction()
似乎首先触发,它从商店中提取活动日期并进行API调用。但由于日期尚未改变,我得到的数据与我发起日期更改之前的数据相同换句话说,执行顺序是反向的,所以我总是得到我在上一个操作中设置的日期的数据集。
知道可能导致这种情况的原因以及如何解决这个问题?
P.S。回调函数从redux商店获取活动日期,这就是我没有传递它的原因。我喜欢使用redux存储作为单一事实来源的想法,但我不知何故需要修复执行顺序问题。
答案 0 :(得分:0)
如果是这种情况,那么您似乎不应该处理此处理程序内部的回调。您是否考虑过使用生命周期方法componentWillUpdate()
?
看看这里的前几个例子,他们可能会有所帮助。