Я новичок с обещанием и не могу решить проблему с обещанием.Я должен вернуть новое состояние в функцию loadPosts после извлечения данных из API:
[loadPosts]: (state, index) => {
fetchPosts().then( data => {
return {
...state,
postState : {
postList : data.data
}
}
})
}
И это моя функция fetchPosts :
export const fetchPosts = () => {
console.log("Fetch posts...");
fetch(process.env.REACT_APP_API_URL + '/post')
.then(response => response.json())
.then(data => {
return data
})
.catch(error => console.error(error))
}
Я получаю "TypeError: Невозможно прочитать свойство 'then' с неопределенным значением"
В моем понимании первая и вторая затем из fetchPosts функция должна вернутьобещание с разрешенным значением, но вместо этого я получаю неопределенное значение.
Если я изменю извлечение сообщения таким образом (добавив return):
export const fetchPosts = () => {
console.log("Fetch posts...");
return fetch(process.env.REACT_APP_API_URL + '/post')
.then(response => response.json())
.then(data => {
return data
})
.catch(error => console.error(error))
}
я получу еще одну ошибку: редуктор "app"вернулся неопределенным.Чтобы игнорировать действие, вы должны явно вернуть предыдущее состояние.
Как я могу использовать обещание для достижения своей цели?
Спасибо