inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

(4.6) 데이터 수정 요청 관리하기 (useMutation)

useMutation 적용 후 새로운 글 등록시 content가 안보여요

20

powerwmj

작성한 질문수 1

0

useMutation 적용후,
새로운 아이템을 추가하면,

아이템은 추가 되지만 안에 컨텐츠 내용은 안나오고, 삭제도 안되네요?

어디를 놓친걸까요??

 

image.png

 

react typescript react-query supabase zustand

답변 2

0

이정환 Winterlood

안녕하세요 powerwmj님 이정환입니다.

정확한 원인 파악을 위해서는 전체 프로젝트의 코드가 필요할 것 같습니다. GitHub에 업로드하신 다음 링크로 공유해주시면 직접 살펴보겠습니다!

0

powerwmj

제미나이한테 물어서 해결했습니다.

제가 잘못된 값으로 todo의 내용을 추가해서 db 내용이 이상해서 화면 렌더링이 안되었습니다.

잘못 저장되어 있던 db를 삭제하고 실행하니 잘 돌아갑니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. powerwmj님.

질문 주신 문제는 useMutation을 사용하여 새로운 아이템을 추가할 때 발생하는 내용입니다. 아이템은 리스트에 추가되지만, 세부 내용이 나타나지 않거나 삭제가 되지 않는 것으로 보입니다.

이러한 문제는 주로 클라이언트의 캐시 관리와 관련이 있습니다. useMutationonSuccess 또는 onSettled 콜백 함수를 통해 queryClient.invalidateQueries를 사용하여 관련된 쿼리를 무효화하고, 최신 데이터를 가져오도록 해야 합니다.

문제의 원인

  1. 캐시 업데이트 누락:

    • 새로운 아이템을 추가한 뒤, 캐시가 자동으로 업데이트되지 않아서 리스트에는 새로운 아이템이 있지만, 해당 아이템의 세부 정보가 없을 수 있습니다.
  2. Mutation의 반환 데이터 확인:

    • useMutationmutationFn에서 올바르게 데이터를 반환했는지 확인해 보세요. mutationFn의 반환 값을 사용하여 추가된 아이템의 디테일을 업데이트해야 합니다.

해결 방법

  • 캐시 무효화 또는 업데이트:

    const mutation = useMutation(addTodo, {
    onSuccess: () => {
      queryClient.invalidateQueries('todos');
    },
    });
    
    • invalidateQueries('todos')를 통해 관련된 쿼리를 다시 패치하도록 합니다.
  • 올바른 데이터 반환 및 사용:

    • mutationFn 함수가 아이템 세부 정보를 반환해야 하며, 이를 onSuccess 에서 사용하여 로컬 상태나 캐시를 업데이트합니다.

위 내용에 관련된 유사 문제에 대한 추가 정보와 해결 방법을 찾을 수 있는 질문/답변 링크입니다:

이 설명들이 문제를 해결하는 데 도움이 되길 바랍니다. 저희는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드리며, 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

6.8 zustand 세션 질문입니다.

0

66

2

next.js 강의에서도 리액트 라이브러리들을 다뤄주시나요?

0

55

2

shadcn에서 radix ui와 base ui 차이는 뭔가요?

0

197

2

updateTodo 함수 생성시 화살표 함수 사용 안하는 이유

0

61

2

4.11 바로 투두 삭제가 안됨 질문

0

73

3

매개변수 updatedTodo 관련 질문

0

55

3

인증 정보가 만료되었을 때 라우트 가드 처리가 궁금합니다!

0

69

2

supabase를 사용하지 않을 경우 세션 데이터의 변경을 감지하고 스토어에 보관하는 방법이 궁금합니다!

0

58

2

4.6 id를 string으로 변경시 오류

0

53

2

리액트 타입스크립트 관련 질문있습니다.

0

52

1

소셜 로그인 구현하기 관련하여 질문이 있습니다!

0

86

2

ui 파일 질문드립니다.

0

62

1

tanstack query devtools에서 질문있습니다!

0

56

2

댓글 삭제 시 isPending 질문

0

54

2

두번째 예외상황에 대해 질문있습니다!

0

53

1

리액트 쿼리 질문입니다

0

56

2

개발자도구에서 components 가 안보입니다.

0

75

3

state 관리에 대한 정리

0

68

3

[(2.4) Shadcn/ui를 소개합니다] 강의 Shadcn 세팅 관련 질문 있습니다.

0

143

3

like 테이블에서 왜 create_at이 필요한지 궁금합니다.

0

66

1

삭제가 바로 안되네요ㅠ

0

54

2

access 토큰은 꼭 소셜서버로부터 받아서 사용해야만하나요?!

0

71

2

전역 모달이 여러 개일 경우 모달 프로바이더는 몇 개가 필요한가요?

0

52

1

프로필 수정 후 post item 의 글들에서 수정된 프로필 업데이트 반영

0

69

2