Я ищу и ищу решение на Stackoverflow и Github, но 1.5 дня недостаточно - я не вижу, где я делаю ошибку. У меня есть код моего компонента, где я хотел бы получать данные из двух конечных точек и после обновлений магазина я консолью что-то записывать.Результат Promise.all перед действиями
class ExampleComponent extends Component {
componentDidMount(){
this.fetchData()
}
fetchData(){
const {dispatch} = this.props
Promise.all([
dispatch(getTodos()),
dispatch(getPhotos())
])
.then(() => {
console.log('I did everything!');
});
}
render() {
return (
<h1>Something</h1>
);
}
}
export default connect()(ExampleComponent)
А вот мои действия ...
export function getPhotos() {
return function(dispatch) {
axios.get('https://jsonplaceholder.typicode.com/photos')
.then((response) => {
console.log('photos')
dispatch({type: 'PHOTOS_REQUEST_SUCCESS',payload: response})
})
.catch((err) => {
dispatch(photosRequestError(err))
})
}
}
export function getTodos() {
return function(dispatch){
axios.get('https://jsonplaceholder.typicode.com/todos')
.then(
(response) => {
console.log('todos')
dispatch({type: 'TODOS_REQUEST_SUCCESS', payload: response})
})
.catch((err) => {
dispatch(todosRequestError(err))
})
}
}
В консоли я получаю "Я сделал все", "Todos", "фото". Как мне сначала изменить мой код для обновления хранилища, а затем записать «Я сделал все» в консоли?
Заранее спасибо
Это работает ... спасибо – magnat