tanstack query를 통해서 테스트 결과를 삭제를 업데이트 하던 도중 의문의 에러가 발생했다!
너 왜그러니
일단 문제가 어디서 발생했냐면 useMutation을 사용하기 위해 커스텀 훅을 만들어서 사용하고 있었는데 그곳에서 발생한 문제같다.
우선 useDeleteResultQuery라는 함수에 id값을 사용하기 위해서 인자가 필요하겠다 생각해서 함수의 인자로 id값을 주고 mutationFn에 deleteTestResult()를 실행시켜주었다.
뭐가 잘못되었는지 감이 안잡혔는데 mutation을 사용할 때는 인자를 다르게 주나? 하고 생각했다.
알아보니 useMutation을 사용할 때에는 mutate로 받은 인자는 mutateFunction에 직접 전달 한다고 한다! 역시 docs에는 다 나와있다.
그래서 이 mutate에 이렇게 인자를 전달해주면 mutateFn에서 사용하는 인자가 된다는 것이다.
useDeleteResultQuery()
의 인자로 받는 것에서 deleteTestResult()
에 들어가도록 mutationFn
에서 인자를 받는 것으로 수정해 주었다. 이제와서 생각해보니까 내가 사용한건 mutate
의 이름만 대체한 것이었는데 왜 useDeleteResultQuery()
의 인자를 넣어주었는지 이해가 되지않는다.
이제는 에러없이 잘 지워 지는것을 볼 수 있다!
언제나 생각하는거지만 라이브러리, 함수를 사용할 땐 Docs를 잘읽어보자,,