Я изучаю 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
}
Где мне выполнить этот расчет? Я чувствую, что самым простым местом для этого будет редуктор, но я также думаю, что редукторы должны быть максимально простыми? Это правильно?
Так должны ли вычисления идти в создателе действий, а затем в магазин передается новый массив предметов?