Осваиваю библиотеку NextJs и столкнулся с проблемой как объединить два ajax запроса?
Тестирование проводилось при помощи JsonFakeApi
Необходимо получить пост по id, а также автора поста (username)
Пост
Пользователь
Ранее данную задачу реализовал при помощи React
Фрагмент кода
constructor(props) {
super(props);
this.state = {
post: {},
author: '',
comments: []
};
}
componentDidMount() {
let id = this.props.match.params.id;
axios(`https://jsonplaceholder.typicode.com/posts/${id}`)
.then(data => {
const authorId = data.data.userId;
const postId = data.data.id;
this.setState({post: data.data});
//Логин пользователя
this.getUserName(authorId);
//Получение списка комментариев к посту
this.getPostComments(postId);
})
.catch(error => {
console.log(error);
})
}
//получение логина пользователя
getUserName = id => {
axios(`https://jsonplaceholder.typicode.com/users/${id}`)
.then(data => {
this.setState({author: data.data.username});
})
.catch(error => {
console.log(error);
})
}
Как данное задание реализовать при помощи NextJs
В методе getInitialProps получилось выполнить только один запрос на получение поста.
Фрагмент кода на NextJs
Post.getInitialProps = async ({query, req}) => {
//console.log(query);
if(!req){
return ({post: null})
}
const response = await fetch(`https://jsonplaceholder.typicode.com/posts/${query.id}`);
const data = await response.json();
return ({post: data});
}
Буду благодарен за помощь!