Я создаю асинхронное действие в Redux с Redux-Thunk, и пока действие работает и возвращает данные, когда оно добавляется в состояние, оно помещается в объект с тем же именем, что и редуктор, например так ....
Ключ posts должен иметь только массив элементов, но вместо этого он является объектом с ключом posts.Что может быть причиной этой проблемы?Вот код для асинхронного действия ...
export function getApiData() {
return dispatch => {
fetch('https://jsonplaceholder.typicode.com/posts')
.then(response => response.json())
.then(json => dispatch(
{
type: ActionTypes.GET_API_DATA,
payload: json
}
))
}
}
Вот код для редуктора ...
function posts(state = [], action) {
switch (action.type) {
case ActionTypes.GET_API_DATA:
return {
...state,
posts: action.payload,
}
default:
return state
}
}
Другие ключи, такие как пользователь и призы (которые не являютсяасинхронные действия) работают отлично и новые данные добавляются, как и ожидалось.Что приводит к такому поведению, когда речь заходит о ключе posts и асинхронном действии?
Заранее спасибо.