Я не знаю, что вызывает это, он отправляет новый запрос почти каждые полсекунды.Я думал, что это потому, что я вызываю свое действие в методе рендеринга, но это не так, пытался вызвать его в componentDidMount
, тот же результат.
Вот код:
Действие:
export const getComments = () => dispatch => {
dispatch({
type: GET_COMMENTS
})
fetch(`${API_URL}/comments`,
{ method: 'GET', headers: {
'content-type': 'application/json'
}})
.then((res) => res.json())
.then((data) => dispatch({
type: GET_COMMENTS_SUCCESS,
payload: data
}))
.catch((err) => dispatch({
type: GET_COMMENTS_FAILED,
payload: err
}))
}
Поскольку мне нужно загрузить идентификатор записи перед вызовом действия комментария, я поместил его в метод рендеринга:
componentDidMount() {
const { match: { params }, post} = this.props
this.props.getPost(params.id);
}
render() {
const { post, comments } = this.props;
{post && this.props.getComments()}
return <div>
...
Вот маршрут:
router.get("/comments", (req, res) => {
Comment.find({})
.populate("author")
.exec((err, comments) => {
if (err) throw err;
else {
res.json(comments);
}
});
});