해결된 질문
작성
·
31
·
수정됨
0
지금 강의에서 리뷰 리스트를 조회하는 api를 서버액션으로 작성해도 상관없는건가요?
예를 들어 직접 리뷰 리스트 DB에 접근해서 데이터를 가져오고 반환해주고,
페이지 컴포넌트에서는 단순히
const data = await getReview();
를 작성해서 불러오는 방법처럼 말이죠
이 질문의 의도는
어떤 상황에서 서버액션을 써야하고,
어떤 상황에서 fetch를 써야하는지 아직 감이 잡히지 않아 질문드립니다!
강의를 보면서 서버액션은 Form에만 사용해야하는구나..라고 생각이들어서 혼란이 생겼던 것 같습니다.
답변 2
0
안녕하세요 이정환입니다.
네 그렇게 작업하셔도 기능적으로는 크게 문제 될 것은 없습니다.
다만 서버 액션으로 구성할 경우 향후 별도의 백엔드 서버가 신설되는 등의 상황에 유연하게 대처하기 어렵습니다. 코드와 기능이 서버액션의 문법대로 고정되기 때문이죠 🥲
또 사실 서버 액션은 병렬처리(여러개의 작업을 동시에 처리하는 것을 말함)가 안된다는 숨겨진 단점도 있습니다. 이에 다수의 사용자가 몰려도 빠른 응답을 내줘야 하는 상황이라면 서버액션은 최소화 하고 API를 최대화 하여 사용하시는걸 권장드립니다.
0
안녕하세요, 인프런 AI 인턴입니다. oridori2705님.
서버 액션과 fetch
메서드의 사용에 관한 질문을 주셨군요.
서버 액션의 활용 및 특징
서버 액션은 서버 측에서 실행되어 클라이언트 측으로 데이터를 반환하는 기능을 제공합니다. 서버 액션을 통해 클라이언트에 노출되지 않는 서버 로직을 실행하거나, CORS 문제를 회피하며 서버와 클라이언트 간의 데이터를 직관적으로 주고받을 수 있는 장점이 있습니다.
fetch의 활용 및 특징
fetch
는 클라이언트 측에서 데이터 요청을 위해 사용되는 메서드로, 주로 공개된 API에서 데이터를 가져올 때 유용합니다.
결론
리뷰 리스트 조회의 경우, 서버 액션을 활용해도 무방합니다. 데이터베이스에서 리스트를 안전하게 불러와야 하거나 추가적인 서버 로직 처리가 필요한 경우에는 서버 액션을 사용하시면 됩니다. 일반적인 API 호출 등에서는 fetch
를 통해 더 간결한 코드로 구현할 수 있습니다.
유사한 질문과 답변이 존재하여, 추가적으로 확인하실 수 있는 자료로는 아래 링크가 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
헐 그런 단점이 있었군요.. 정보 감사합니다!