<aside> 💡 useMutation을 이용하여 데이터를 추가해보자. 🔥🔥🔥
</aside>
리액트 쿼리에선 새로운 데이터를 추가하기 위해선 useMutation
훅을 사용해야 한다.
뮤테이션의 사전적인 정의는 ‘형태, 구조상의 변화’
를 의미하며 사이드 이펙트를 가진 함수를 의미하기도 한다.
데이터베이스에 새로운 값을 추가
, 수정
, 삭제
하는 행위는 사이드 이펙트에 해당하기에 그런 상황에선 useMutation()
을 사용해야한다.
순수 함수에서는 발생하지 않고 외부 환경에 미치는 영향을 얘기한다.
리액트에서 주로 발생하는 사이드 이펙트가 있는데 주된 요인 몇가지를 얘기해보자면!
useQuery
의 쿼리 함수는 컴포넌트가 마운트되면서 자동으로 실행되는 반면
useMutation
은 함수를 직접 실행해줘야한다. mutate
함수를 통해 mutationFn
으로 등록했던 함수를 실행할 수 있고 그래야 데이터의 수정이 가능하다.