반응형
개요
기존 query와 zustand 둘 다 익숙치 않아서 조금은 직관적인 zustand로만 작업을 이어왔다.
기능 개발이 어느정도 마무리되고 리팩토링하면서 코드개선에 들어갔다.
import { addCategory, removeCategory, updateCategoryName } from '@/server/api/supabase/menu-category';
import { useMutation, useQueryClient } from '@tanstack/react-query';
const enum QUERY_KEY {
MENU_CATEGORY = 'menu-category',
}
export const useSetCategories = () => {
const queryClient = useQueryClient();
const addMutate = useMutation({
mutationFn: addCategory,
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: [QUERY_KEY.MENU_CATEGORY] });
},
onError: error => {
console.error(error);
},
});
const updateNameMutate = useMutation({
mutationFn: updateCategoryName,
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: [QUERY_KEY.MENU_CATEGORY] });
},
});
const deleteMutate = useMutation({
mutationFn: removeCategory,
onSuccess: () => {
queryClient.invalidateQueries({ queryKey: [QUERY_KEY.MENU_CATEGORY] });
},
});
return {
addMutate: addMutate.mutate,
updateNameMutate: updateNameMutate.mutate,
deleteMutate: deleteMutate.mutate,
};
};
export default useSetCategories;
반응형
'TIL' 카테고리의 다른 글
[TIL][24.01.22] Project - 배열끼리 비교 후 없는 값 도출 (0) | 2024.01.22 |
---|---|
[TIL][24.01.19] Project - useMutate에서 값 가져오기 (0) | 2024.01.20 |
[TIL] [24.01.17] zustand에서 state와 action을 분리하기 (0) | 2024.01.18 |
[TIL][24.1.16] 기존데이터, 더미데이터, 바뀐 데이터 (0) | 2024.01.17 |
[TIL][24.1.15] change handler (0) | 2024.01.16 |