Вам нужно сделать:
return [...state, ...action.apidata]
, поскольку action.apidata - это тоже массив, его нужно распространять, иначе он будет вложенным.Если apidata
не был массивом просто объектом, то нет необходимости распространять его.
Например:
> let arr1 = [1, 2, 3, 4, 5]
> let arr2 = [6, 7, 8, 9, 0]
> [...arr1, arr2] // wrong
< [1, 2, 3, 4, 5, [6, 7, 8, 9, 0]] // gives a nested array
> [...arr1, ...arr2] // correct
< [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] // merges properly
> let num = 10
> [...arr1, num] // no spreading required when it's not an array
< [1, 2, 3, 4, 5, 10] // merges properly