Взял текущее состояние, добавил в начало массива элемент. сделал диспатч нового массива.
Здесь кроется главная ошибка, вы "сделали диспатч", того же самого массива. Почему он стал новым? Не правда.
Т.е. вы возвращаете тот же самый объект (в js объекты передаются по ссылке), для react вьюхи ничего не изменилось, значит render вызывать не надо => ничего не происходит.
Попробуйте возвращать новый(!) массив, в вашем случае это:
setAdminData: [clients_info, ...currentList]
Либо чуточку понятнее, но вставляя в конец массива:
setAdminData: currentList.concat(clients_info)
Метод
concat всегда возвращает новый массив.
Ну и чтобы стало совсем понятно в чем дело, попробуйте в консоли выполнить следующий код:
let arr1 = [1,2,3,4]
let arr2 = arr1
arr2.unshift(1)
console.log(arr1)
Вопросы: чему равен arr1? Почему? Будет ли arr1 === arr2, почему?
Еще вопросы: В каком случае react вызывает функцию render?