во первых для изменения данных в store прежде их все же нужно задиспатчить
должно помогать,
x=[1,2,3]
c={a: x}
d={...c}
d.a[0] = 10
console.log(x) // посмотрите сами что тут будет
. Скажите пожалуйста в правильном ли направлении я двигаюсь?
itemOnClick = itemOnClick ?
(function() {
requestAnimationFrame (насколько помню) может не одинаковые интервалы давать.
Если у вас все это есть и проблема только в запиливании продукта - то это можно решить кучей способов