강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

oridori2705님의 프로필 이미지
oridori2705

작성한 질문수

한 입 크기로 잘라먹는 Next.js(v15)

7.3) 리뷰 조회 기능 구현하기

서버액션으로 단순히 조회하는 기능을 만들어서 사용해도 될까요?

해결된 질문

작성

·

31

·

수정됨

0

지금 강의에서 리뷰 리스트를 조회하는 api를 서버액션으로 작성해도 상관없는건가요?

예를 들어 직접 리뷰 리스트 DB에 접근해서 데이터를 가져오고 반환해주고,
페이지 컴포넌트에서는 단순히

const data = await getReview();
를 작성해서 불러오는 방법처럼 말이죠

이 질문의 의도는
어떤 상황에서 서버액션을 써야하고,
어떤 상황에서 fetch를 써야하는지 아직 감이 잡히지 않아 질문드립니다!


강의를 보면서 서버액션은 Form에만 사용해야하는구나..라고 생각이들어서 혼란이 생겼던 것 같습니다.

답변 2

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

네 그렇게 작업하셔도 기능적으로는 크게 문제 될 것은 없습니다.

다만 서버 액션으로 구성할 경우 향후 별도의 백엔드 서버가 신설되는 등의 상황에 유연하게 대처하기 어렵습니다. 코드와 기능이 서버액션의 문법대로 고정되기 때문이죠 🥲

또 사실 서버 액션은 병렬처리(여러개의 작업을 동시에 처리하는 것을 말함)가 안된다는 숨겨진 단점도 있습니다. 이에 다수의 사용자가 몰려도 빠른 응답을 내줘야 하는 상황이라면 서버액션은 최소화 하고 API를 최대화 하여 사용하시는걸 권장드립니다.

oridori2705님의 프로필 이미지
oridori2705
질문자

헐 그런 단점이 있었군요.. 정보 감사합니다!

 

0

안녕하세요, 인프런 AI 인턴입니다. oridori2705님.

서버 액션과 fetch 메서드의 사용에 관한 질문을 주셨군요.

서버 액션의 활용 및 특징
서버 액션은 서버 측에서 실행되어 클라이언트 측으로 데이터를 반환하는 기능을 제공합니다. 서버 액션을 통해 클라이언트에 노출되지 않는 서버 로직을 실행하거나, CORS 문제를 회피하며 서버와 클라이언트 간의 데이터를 직관적으로 주고받을 수 있는 장점이 있습니다.

  • 서버 액션 사용 시기
    • 서버 측에서 민감한 로직이나 안전하게 데이터를 처리해야 할 때.
    • CORS 혹은 보안 문제를 회피해야 할 때.
    • 서버에서만 처리해야 하는 복잡한 비즈니스 로직이 있을 때.

fetch의 활용 및 특징
fetch는 클라이언트 측에서 데이터 요청을 위해 사용되는 메서드로, 주로 공개된 API에서 데이터를 가져올 때 유용합니다.

  • fetch 사용 시기
    • 클라이언트에서 직접 API를 호출해도 무방한 경우.
    • 네트워크 요청 자체가 단순하고 별도의 서버 로직이나 보안 조치가 필요 없는 경우.
    • 캐싱이 필요하여 상태 관리 라이브러리(예: React Query)와 함께 사용할 때.

결론
리뷰 리스트 조회의 경우, 서버 액션을 활용해도 무방합니다. 데이터베이스에서 리스트를 안전하게 불러와야 하거나 추가적인 서버 로직 처리가 필요한 경우에는 서버 액션을 사용하시면 됩니다. 일반적인 API 호출 등에서는 fetch를 통해 더 간결한 코드로 구현할 수 있습니다.

유사한 질문과 답변이 존재하여, 추가적으로 확인하실 수 있는 자료로는 아래 링크가 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

oridori2705님의 프로필 이미지
oridori2705

작성한 질문수

질문하기