Skip to content
Snippets Groups Projects

fix: 데이터 재로드 로직 로컬상태변경에서 API호출로 변경

Merged 석찬 윤 requested to merge develop into main
1 file
+ 37
37
Compare changes
  • Side-by-side
  • Inline
+ 37
37
@@ -101,7 +101,7 @@ const MeetingPage = () => {
@@ -101,7 +101,7 @@ const MeetingPage = () => {
hasError,
hasError,
]);
]);
const handleCreateMeeting = () => {
const handleCreateMeeting = async () => {
setShowCreateModal(true); // 모달 열기
setShowCreateModal(true); // 모달 열기
};
};
@@ -110,14 +110,15 @@ const MeetingPage = () => {
@@ -110,14 +110,15 @@ const MeetingPage = () => {
try {
try {
await joinMeeting(meetingId);
await joinMeeting(meetingId);
alert("번개 모임에 성공적으로 참가했습니다!");
alert("번개 모임에 성공적으로 참가했습니다!");
// 참가 상태 업데이트
setMeetings((prev) =>
// 최신 데이터 다시 가져오기
prev.map((meeting) =>
if (activeTab === "all") {
meeting.id === meetingId
const updatedData = await getAllMeetings(0, meetingPage * 20);
? { ...meeting, isParticipant: true }
setMeetings(updatedData.content);
: meeting
} else if (activeTab === "my") {
)
const updatedData = await getMyMeetings(0, myMeetingPage * 20);
);
setMyMeetings(updatedData.content);
 
}
} catch (error) {
} catch (error) {
alert("번개 모임 참가에 실패했습니다.");
alert("번개 모임 참가에 실패했습니다.");
console.error("Error joining meeting:", error);
console.error("Error joining meeting:", error);
@@ -140,10 +141,15 @@ const MeetingPage = () => {
@@ -140,10 +141,15 @@ const MeetingPage = () => {
try {
try {
await deleteMeeting(meetingId);
await deleteMeeting(meetingId);
alert("번개 모임을 삭제했습니다!");
alert("번개 모임을 삭제했습니다!");
setMeetings((prev) => prev.filter((meeting) => meeting.id !== meetingId));
setMyMeetings((prev) =>
// 최신 데이터 다시 가져오기
prev.filter((meeting) => meeting.id !== meetingId)
if (activeTab === "all") {
);
const updatedData = await getAllMeetings(0, meetingPage * 20);
 
setMeetings(updatedData.content);
 
} else if (activeTab === "my") {
 
const updatedData = await getMyMeetings(0, myMeetingPage * 20);
 
setMyMeetings(updatedData.content);
 
}
} catch (error) {
} catch (error) {
alert("번개 모임 삭제에 실패했습니다.");
alert("번개 모임 삭제에 실패했습니다.");
console.error("Error deleting meeting:", error);
console.error("Error deleting meeting:", error);
@@ -155,20 +161,15 @@ const MeetingPage = () => {
@@ -155,20 +161,15 @@ const MeetingPage = () => {
try {
try {
await leaveMeeting(meetingId);
await leaveMeeting(meetingId);
alert("번개 모임을 나갔습니다!");
alert("번개 모임을 나갔습니다!");
setMeetings((prev) =>
prev.map((meeting) =>
// 최신 데이터 다시 가져오기
meeting.id === meetingId
if (activeTab === "all") {
? { ...meeting, isParticipant: false }
const updatedData = await getAllMeetings(0, meetingPage * 20);
: meeting
setMeetings(updatedData.content);
)
} else if (activeTab === "my") {
);
const updatedData = await getMyMeetings(0, myMeetingPage * 20);
setMyMeetings((prev) =>
setMyMeetings(updatedData.content);
prev.map((meeting) =>
}
meeting.id === meetingId
? { ...meeting, isParticipant: false }
: meeting
)
);
} catch (error) {
} catch (error) {
alert("번개 모임 나가기에 실패했습니다.");
alert("번개 모임 나가기에 실패했습니다.");
console.error("Error leaving meeting:", error);
console.error("Error leaving meeting:", error);
@@ -180,16 +181,15 @@ const MeetingPage = () => {
@@ -180,16 +181,15 @@ const MeetingPage = () => {
try {
try {
await closeMeeting(meetingId);
await closeMeeting(meetingId);
alert("번개 모임을 마감했습니다!");
alert("번개 모임을 마감했습니다!");
setMeetings((prev) =>
prev.map((meeting) =>
// 최신 데이터 다시 가져오기
meeting.id === meetingId ? { ...meeting, type: "CLOSE" } : meeting
if (activeTab === "all") {
)
const updatedData = await getAllMeetings(0, meetingPage * 20);
);
setMeetings(updatedData.content);
setMyMeetings((prev) =>
} else if (activeTab === "my") {
prev.map((meeting) =>
const updatedData = await getMyMeetings(0, myMeetingPage * 20);
meeting.id === meetingId ? { ...meeting, type: "CLOSE" } : meeting
setMyMeetings(updatedData.content);
)
}
);
} catch (error) {
} catch (error) {
alert("번개 모임 마감에 실패했습니다.");
alert("번개 모임 마감에 실패했습니다.");
console.error("Error closing meeting:", error);
console.error("Error closing meeting:", error);
Loading