В вашем редукторе вместо хранения только комментариев в массиве сохраните объект, который содержит как полные комментарии, так и commentById.
Компонент главной страницы:
const MainPage = (props) => {
useEffect(() => {
props.fetchComments();
props.fetchCommentById(62);
}, []);
console.log("all comments: ", props.comments);
console.log("comment by id: ", props.commentById);
return (
<>
<div>MainPage</div>
</>
);
};
const mapStateToProps = (state) => {
return {
commentById: state.comments.commentById,
comments: state.comments.comments
};
};
export default connect(mapStateToProps, { fetchComments, fetchCommentById })(
MainPage
);
Измените свой редуктор следующим образом:
const initialState = {
comments: [],
commentById: ''
}
export default (state = initialState, action) => {
switch (action.type) {
case FETCH_COMMENTS:
return {...state, comments: action.payload}; // assuming you are returning an array from the server
case FETCH_COMMENT_BY_ID:
return {...state, commentById: action.payload};
default:
return state;
}
};