Open heejin0421 opened 1 year ago
상세페이지에서 참여중인 유저 목록에 변화가 없어서 그러시는걸까요? 만약 그렇다면
임시 배열에 챗룸멤버스를 담은 후 현재 로그인한 유저 정보를 담거나 빼준 후 글 수정 리듀서로 반영 시켜주면 될겁니다.
const tempArr = [...post.charRoomMembers]; tempArr.push( { ~~ 유저정보 담은 객체 ~~ } ); dispatch(UPDATE_USER(tempArr));
이런식으로요
@JMKiim 재명님 의견에 따라 이런식으로 코드를 작성하니 굳이 새로고침을 하지않고도 바로바로 페이지에 유저가 내용을 확인할수있게 변경할수있었습니다 감사합니다!
// 참여 핸들러
const onEnterHandler = () => {
if (refreshToken) {
dispatch(__enterChannel(id));
dispatch(__increaseParticipantThunk(id));
dispatch(UPDATE_USER({ ...user, onGoing: post.postId }));
const tempArr = [...post.chatRoomMembers];
tempArr.push({ member: user });
dispatch(
UPDATE_POST({
...post,
chatRoomMembers: tempArr,
})
);
} else {
setIsDP(true);
}
// window.location.reload();
};
// 퇴장 핸들러
const onExitHandler = () => {
dispatch(__decreaseParticipantThunk(id));
dispatch(UPDATE_USER({ ...user, onGoing: null }));
const tempArr = [...post.chatRoomMembers];
const target = tempArr.findIndex((item) => {
return item.member.id === user.id;
});
tempArr.splice(target, 1);
dispatch(
UPDATE_POST({
...post,
chatRoomMembers: tempArr,
})
);
dispatch(__exitChannel(id));
setIsExitOpen(false);
};
Description