У меня есть экран ленты с сообщениями (на каждом сообщении вы можете видеть - значок лайков и количество лайков, а также значок комментариев и количество комментариев), и если пользователь хочет прокомментировать сообщение, он разворачивает сообщение в диалог. В диалоговом окне пользователь может комментировать. После того, как пользователь прокомментировал сообщение, он видит изменение количества комментариев.
Проблема в том, что когда пользователь закрывает диалоговое окно, количество комментариев остается прежним. только после refre sh количество комментариев на экране ленты изменяется.
redux reducer -
case SUBMIT_COMMENT:
return {
...state,
woof: {
...state.woof,
comments: [action.payload, ...state.woof.comments],
commentCount: state.woof.commentCount + 1,
},
};
redux action -
export const submitComment = (woofId, commentData) => (dispatch) => {
axios
.post(`/woof/${woofId}/comment`, commentData)
.then((res) => {
dispatch({
type: SUBMIT_COMMENT,
payload: res.data,
});
dispatch(clearErrors());
})
.catch((err) => {
dispatch({
type: SET_ERRORS,
payload: err.response.data,
});
});
};
Я понимаю, что это потому, что когда пользователь отправляет комментарий, в возвращенном состоянии нет данных о новых сообщениях, но я не мог получить к нему доступ.
Спасибо!