Если в двух словах. Redux делает сравнение методом shallow equal для определения обновления стейта. Таким образом когда вызывается Array.push() объект стейта не меняется и обновления не происходит. Отсюда вытекает основное правило при работе с редьюсерами - они не должны менять стейт, они должны возвращать новый объект.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.