У меня есть приложение для социальных сетей, в котором значение commentCount
каждого поста не отображается изначально.
Redux Dev Сервис сообщает мне, что наши почтовые объекты не получают commentCount
Только после запуска действия like
или unlike
получит ли post
объект commentCount
Это мой dataReducer
const initialState = {
posts: [],
post: {},
loading: false
};
export default function(state = initialState, action) {
switch (action.type) {
case LOADING_DATA:
return {
...state,
loading: true
};
case SET_POSTS:
return {
...state,
posts: action.payload,
loading: false
};
case LIKE_POST:
case UNLIKE_POST:
let index = state.posts.findIndex(
(post) => post.postId === action.payload.postId
);
state.posts[index] = action.payload;
if (state.post.postId === action.payload.postId) {
state.post = {...state.post, ...action.payload}
}
return {
...state
};
case SET_POST:
return {
...state,
post: action.payload
};
...
}
}
Это мои dataActions
export const getPosts = () => (dispatch) => {
dispatch({ type: LOADING_DATA });
axios
.get('/posts')
.then(res => {
dispatch({
type: SET_POSTS,
payload: res.data
});
})
.catch(err => {
dispatch({
type: SET_POSTS,
payload: []
});
});
};
export const likePost = (postId) => (dispatch) => {
axios
.get(`/post/${postId}/like`)
.then(res => {
dispatch({
type: LIKE_POST,
payload: res.data
});
})
.catch(err => console.log(err));
};
export const unlikePost = (postId) => (dispatch) => {
axios
.get(`/post/${postId}/unlike`)
.then(res => {
dispatch({
type: UNLIKE_POST,
payload: res.data
});
})
.catch(err => console.log(err));
};
Вкладка "Сеть"
Есть предложения о том, что происходит? Спасибо.