반응형
이슈 내용
useMutation
함수를 호출해서 정의된 mutation
함수를 사용할 수 있는데요.mutation
함수의 콜백에 두번째 파라미터에 옵션에 onSuccess
, onError
등을 이용해서
비동기함수의 성공, 실패를 처리할 수 있습니다.
useMutation
함수를 정의할 때, mutationFn
함수를 전달할 수 있는데요.
그런데, mutationFn
함수의 파라미터가 없을 수도 있습니다.
예제 코드
import { useMutation } from '@tanstack/react-query'
// mutationFn의 파라미터 없음!
const m = useMutation({
mutationFn: () => Promise.resolve(5)
})
// 첫번째 파라미터에 어떤 값을 전달해야?
m.mutate(null, {
onSuccess() {
console.log('onSuccess');
},
onError() {
console.log('onError');
}
});
타입에러 스크린샷
mutationFn
의 파라미터가 없기 때문에,
mutate
함수에 두번째 파라미터에 옵션을 사용할 때, 첫번째 파라미터는 void
형태로 표시됩니다.
대응방법
타입스크립트에서의 void
타입은 "아무 값도 없다"는 것을 의미하며, undefined
와 호환됩니다.
따라서, mutationFn
함수의 첫번째 파라미터에 undefined
를 전달하면 됩니다.
import { useMutation } from '@tanstack/react-query'
const m = useMutation({
mutationFn: () => Promise.resolve(5)
})
m.mutate(undefined, {
onSuccess() {
console.log('onSuccess');
},
onError() {
console.log('onError');
}
});
참고
TanStack/query - useMutation where no variables are required 이슈
반응형
'개발이슈' 카테고리의 다른 글
[Jest] Web Storage 테스트하기 (LocalStorage, SessionStorage) (0) | 2023.08.05 |
---|---|
[Jest] 테스트 작성 시, window.alert 모킹하기 (jest.fn, jest.spyOn) (0) | 2023.08.05 |
[개발이슈] Storybook에서 SVG 이슈 발생 (Element type is invalid ... ) (0) | 2023.07.06 |
[GitLab] The pipeline failed due to the user not being verified 이슈 해결 (0) | 2023.03.09 |
[Next.js] Component selectors can only be used in conjunction 이슈 (0) | 2022.08.07 |