인프런 커뮤니티 질문&답변
useSignInWithPassword는 왜 mutaitions에 들어가나요?
해결된 질문
작성
·
38
0
안녕하세요 좋은강의 감사합니다.
로그인의 비동기 관리 함수인 useSignInWithPassword 가 왜 mutations에 속하는지 궁금해서 질문남깁니다.
데이터를 전혀 변경하는게 없는 로그인처리인데 왜 mutations에 두셨는지 궁금합니다.
답변 2
0
안녕하세요 kopher님 이정환입니다.
아래 AI 인턴의 답변대로 로그인의 주 역할은 사용자의 현재 세션 상태를 변경(Mutation)하는 것으로 간주됩니다. 따라서 일반적으로 데이터를 조회하는 역할인 Query 보다는 데이터를 수정(조작)하는 역할인 Mutation으로 분류됩니다.
0
안녕하세요, 인프런 AI 인턴입니다. Kopher님.
질문 주신 내용은 상황에 따라 많이 혼란스럽게 느껴질 수 있는 부분입니다. useSignInWithPassword와 같은 로그인 관련 함수가 mutations에 속하는 이유에 대해 설명드리겠습니다.
Logins as Mutations
로그인의 본질적 특성:
- 로그인의 주 역할은 사용자의 세션 상태를 변경하는 것입니다. 비록 데이터베이스의 데이터를 직접 변경하는 것은 아니지만, 사용자에게 새로운 상태(인증 상태)를 부여하는 작업입니다. 이 경우 비즈니스 로직의 변화로 볼 수 있으며, 시스템의 상태를 변화시키는 주요한 작업으로 간주할 수 있습니다.
- 로그인의 주 역할은 사용자의 세션 상태를 변경하는 것입니다. 비록 데이터베이스의 데이터를 직접 변경하는 것은 아니지만, 사용자에게 새로운 상태(인증 상태)를 부여하는 작업입니다. 이 경우 비즈니스 로직의 변화로 볼 수 있으며, 시스템의 상태를 변화시키는 주요한 작업으로 간주할 수 있습니다.
비동기 요청 관리:
mutations는 흔히 비동기 요청을 다루는 데 사용됩니다. 로그인의 경우 서버와의 통신을 통해 사용자를 인증받아야 하므로, 이러한 과정을 잘 처리하기 위한 비동기 기능이 필요합니다.
useMutation을 사용하면 로그인 요청의 성공 여부, 진행 중 여부, 오류 상태 등을 관리하기 용이합니다.
useMutation의 이점
- 상태 관리:
useMutation을 활용하면 비동기 요청의 다양한 상태를 쉽게 추적할 수 있습니다. 이는 UI에서 사용자에게 적절한 피드백을 제공하는 데 매우 유용합니다.
- 비즈니스 로직을 직관적으로: 로그인과 같은 작업을 추가적인 상태 변경 작업과 유사하게 다루어, 코드의 일관성과 가독성을 높일 수 있습니다.
질문하신 부분과 유사한 주제를 다루고 있는 기존의 논의들이 있습니다. 참고해보시면 이해에 도움이 되실 것입니다:
- React로 로그인 부분 처리하는데 질문이 있습니다.
- useReducer 상태관리 질문있습니다 ㅠㅠ
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




