From 796596a79f3ccf3032e8c0fc26606e05eeaf8116 Mon Sep 17 00:00:00 2001 From: cloud0406 Date: Sun, 5 Jan 2025 13:13:35 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=E2=99=BB=EF=B8=8F[Refactor]=20=EC=9C=A0?= =?UTF-8?q?=EC=A0=80=20=EB=B6=81=ED=81=B4=EB=9F=BD=20=EC=A1=B0=ED=9A=8C=20?= =?UTF-8?q?api=20=EA=B2=BD=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/book-club/bookClubMainAPI.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/api/book-club/bookClubMainAPI.ts b/src/api/book-club/bookClubMainAPI.ts index 12ad39cc..a37a09e5 100644 --- a/src/api/book-club/bookClubMainAPI.ts +++ b/src/api/book-club/bookClubMainAPI.ts @@ -22,7 +22,7 @@ export const bookClubMainAPI = { //유저가 참가한 북클럽 조회 userJoined: async (userId: number, params?: MyProfileParams) => { - const response = await apiClient.get(`/book-clubs/user/${userId}/joined`, { + const response = await apiClient.get(`/book-clubs/users/${userId}/joined`, { params, }); return response.data; @@ -30,9 +30,12 @@ export const bookClubMainAPI = { //유저가 만든 북클럽 조회 userCreated: async (userId: number, params?: MyProfileParams) => { - const response = await apiClient.get(`/book-clubs/user/${userId}/created`, { - params, - }); + const response = await apiClient.get( + `/book-clubs/users/${userId}/created`, + { + params, + }, + ); return response.data; }, From ca9a28b4f25c4c3839409147938784946e754708 Mon Sep 17 00:00:00 2001 From: cloud0406 Date: Sun, 5 Jan 2025 13:28:56 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=E2=99=BB=EF=B8=8F[Refactor]=20=EC=B0=9C?= =?UTF-8?q?=ED=95=98=EA=B8=B0=EC=8B=9C=20=EC=BF=BC=EB=A6=AC=20=EB=AC=B4?= =?UTF-8?q?=ED=9A=A8=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/book-club/react-query/customHooks.ts | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/api/book-club/react-query/customHooks.ts b/src/api/book-club/react-query/customHooks.ts index defec8ef..8953326f 100644 --- a/src/api/book-club/react-query/customHooks.ts +++ b/src/api/book-club/react-query/customHooks.ts @@ -104,12 +104,9 @@ export function useLikeBookClub() { return useMutation, number>({ mutationFn: (id: number) => bookClubLikeAPI.like(id), - onSuccess: (_, id) => { - queryClient.invalidateQueries({ - queryKey: bookClubs.list().queryKey, - }); + onSuccess: () => { queryClient.invalidateQueries({ - queryKey: bookClubs.detail(id).queryKey, + queryKey: bookClubs._def, }); }, }); @@ -120,12 +117,9 @@ export function useUnLikeBookClub() { return useMutation, number>({ mutationFn: (id: number) => bookClubLikeAPI.unlike(id), - onSuccess: (_, id) => { - queryClient.invalidateQueries({ - queryKey: bookClubs.list().queryKey, - }); + onSuccess: () => { queryClient.invalidateQueries({ - queryKey: bookClubs.detail(id).queryKey, + queryKey: bookClubs._def, }); }, }); From 5f2927b1123a254ea6c559756ad1f640fe2ae25e Mon Sep 17 00:00:00 2001 From: cloud0406 Date: Sun, 5 Jan 2025 15:40:40 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=90=9B[Fix]=20=EC=B0=9C=ED=95=98?= =?UTF-8?q?=EA=B8=B0=20=EB=B2=84=EA=B7=B8=20=EC=9E=84=EC=8B=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/book-club/react-query/customHooks.ts | 12 ++++++++++++ .../book-club/react-query/likeOptimisticUpdate.ts | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/src/api/book-club/react-query/customHooks.ts b/src/api/book-club/react-query/customHooks.ts index 76b5250f..dcfdc23e 100644 --- a/src/api/book-club/react-query/customHooks.ts +++ b/src/api/book-club/react-query/customHooks.ts @@ -112,6 +112,12 @@ export function useLikeBookClub() { onMutate: async (id) => { return likeOnMutate(queryClient, id, true); }, + //TODO: 로직 확인 후 변경 필요 + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: bookClubs._def, + }); + }, onError: (_error, id, context) => { if (context) { @@ -130,6 +136,12 @@ export function useUnLikeBookClub() { onMutate: async (id) => { return likeOnMutate(queryClient, id, false); }, + //TODO: 로직 확인 후 변경 필요 + onSuccess: () => { + queryClient.invalidateQueries({ + queryKey: bookClubs._def, + }); + }, onError: (_error, id, context) => { if (context) { diff --git a/src/api/book-club/react-query/likeOptimisticUpdate.ts b/src/api/book-club/react-query/likeOptimisticUpdate.ts index f509ca45..86a0a536 100644 --- a/src/api/book-club/react-query/likeOptimisticUpdate.ts +++ b/src/api/book-club/react-query/likeOptimisticUpdate.ts @@ -35,6 +35,11 @@ export const likeOnMutate = async ( }); } + //TODO: 로직 확인 후 변경 필요 + queryClient.invalidateQueries({ + queryKey: bookClubs._def, + }); + return { previousBookClubs, previousDetail }; };