[TIL] 리액트 라우터 action으로 포스트 요청 처리하지 않은 이유
#308
sgoldenbird
started this conversation in
TIL
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
📌 배운 내용
🔍 배경 / 문제 상황
VoteModal에서 특정 아이돌에게 투표하는 기능의 POST 요청을 처리하는 방식을 두고 React Router의 action을 사용할지,
혹은 그냥 requestPost 함수로 처리할지를 고민하게 되었습니다.
✅ 핵심 정리 / 해결 방법
action은 복잡한 전송 흐름(예: 리다이렉트, 새로고침, 상태 공유 등)이 필요한 경우에 적합합니다.
단순한 API 요청만 필요할 때는 일반 requestPost 함수로 처리하는 것이 더 간단해 보였습니다.
VoteModal의 경우는 후자에 해당하며, action을 사용하는 건 오히려 불필요한 구조 복잡도를 초래합니다.
이러한 이유로 처음에는 form 기반이 아니어도 action을 활용해볼까 싶었지만, 실제 로직을 살펴보니 단순히 API에 요청을 보내는 구조였고,
요청 이후 라우팅 변경이나 리다이렉트, 새로고침 같은 처리가 필요하지 않았습니다. 그래서 기존의 requestPost를 사용하는 것이 낫다고 판단했습니다.
action을 써야 할 대표적인 케이스 예시
🧠 느낀점 또는 생각 메모
React Router의 action은 강력한 기능이지만, 모든 POST 요청에 무조건 사용할 필요는 없다는 걸 느꼈습니다.
요청 후 라우팅 변화나 상태 동기화가 필요 없는 단순 요청이라면, 기존의 fetch wrapper를 사용하는 방식이 훨씬 간결하고 명확합니다.
앞으로도 상황에 따라 "기능이 아니라 흐름의 복잡도"를 기준으로 선택하는 습관이 중요하다고 느꼈습니다.
Beta Was this translation helpful? Give feedback.
All reactions