Переносим соответствующий вызов dispatch из обработчика клика в эффектсвятые отцы не рекомендуют так делать - https://beta.reactjs.org/learn/you-might-not-need-...
Долго учить typescript?
Array.prototype.valueOf = function() {
return this.reduce((a, x) => a + x, 0);
};
ещё, как вариант, можно сохранить чистоту редьюсера, если передать в экшн результат вызова Math.random().
а конкретное итоговое значение будет определено в самом редьюсере, основываясь на переданном значении из экшена и актуальной версии массива. Всё как любят ФП-шники.