【发布时间】:2019-02-21 02:15:05
【问题描述】:
我正在通过创建一个包含一组基于时间的数据的应用来学习 React 和 Redux:允许的时间和经过的时间。
[1] : {
time: 10,
elapsed: 0
},
[2] : {
time: 15,
elapsed: 0
},
[3] : {
time: 20,
elapsed: 0
}
如果有任何项目超出计划,我想重新计算后续项目的时间。例如。第 1 项允许 10 秒,但如果第 1 项需要 12 秒我想从第 2 项和第 3 项中弥补这段时间。
[1] : {
time: 10,
elapsed: 12
},
[2] : {
time: 14,
elapsed: 0
},
[3] : {
time: 19,
elapsed: 0
}
我应该在哪里执行这个计算?我觉得最简单的地方是减速器,但我也认为减速器应该尽可能简单?对吗?
那么计算是否应该在 action-creator 中进行,然后将一个新的 items 数组传递给 store?
【问题讨论】:
-
我会亲自在 reducer 中执行此操作,因为那时任何一个值都可能发生变化,因此看起来很合适。我确实想知道您将如何处理将 elapsed 重置为允许值的后续更改,然后您会重置 2 和 3 的值吗?
标签: reactjs redux react-redux