【发布时间】:2017-08-21 22:27:22
【问题描述】:
我有一个带有日期选择器的 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 调用。但由于日期尚未更改,我得到的数据与我开始更改日期之前的数据相同 - 当我再次更改日期时,发生的事情与我上面描述的相同,但它现在使用上一步中的日期。
换句话说,执行顺序是相反的,所以我总是最终得到一个数据集,是我在之前的操作中设置的日期。
知道是什么原因造成的以及如何解决吗?
附:回调函数从 redux 商店获取活动日期,这就是我不传递它的原因。我喜欢使用 redux 存储作为单一事实来源的想法,但我需要解决执行顺序问题。
【问题讨论】:
标签: reactjs redux react-redux