인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

10rlatkdtn님의 프로필 이미지

작성한 질문수

Next + React Query로 SNS 서비스 만들기

서버 컴포넌트에서 Server Actions 사용하기

백엔드 api가 따로 있을 경우의 fetch 요청

해결된 질문

작성

·

61

0

Next.js에서 서버 컴포넌트는 서버에서 실행되기 때문에, useEffect 없이 컴포넌트 내부에서 직접 fetch 요청을 보낼 수 있는 것으로 알고 있습니다.

또한, 서버 액션은 백엔드 없이 Next.js 풀스택 환경에서 DB에 직접 접근할 때 주로 사용하는 것으로 이해하고 있습니다.

그렇다면, 별도로 백엔드가 존재하는 경우에도 서버 액션을 사용할 필요가 있나요? 그리고 실제로 현업에서도 백엔드가 따로 있을 경우에 서버액션을 사용하나요?

감사합니다!

답변 2

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

별도로 백엔드가 있다면 서버액션을 사용할 필요성이 많이 줄어듭니다. 서버액션은 1인 풀스택 개발자가 next.js만을 사용해서 개발할 때 유용합니다.

0

인프런 AI 인턴님의 프로필 이미지

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

Next.js 의 서버 액션과 관련하여 도전적인 제비님께서 이해하신 바와 같이 서버 액션은 주로 백엔드 없이 풀스택 환경에서 DB에 직접 접근하는데 유용하게 사용됩니다. 그러나 백엔드 API가 별도로 존재하는 경우, 서버 액션을 사용해야 할지에 대한 질문을 주셨네요.

다음은 관련된 주요 포인트입니다:

  1. 서버 액션 사용:

    • 서버 액션은 백엔드 서버와의 직접적인 통신 없이 Next.js 애플리케이션 내에서 직접 DB 처리를 하고자 할 때 주로 사용됩니다. 그렇기에, 별도의 백엔드 서버가 있는 경우에는 서버 액션을 사용하는 경우가 드뭅니다.
    • 서버 액션이 유용한 경우는, 특별히 서버 액션을 통해 예를 들어 로컬 개발 환경에서 빠르게 테스트하고자 할 때 등이 있을 수 있습니다.
  2. 백엔드가 존재할 때:

    • 백엔드가 별도로 구성되어 있는 프로젝트라면, 서버 사이드에서 프론트엔드로 데이터를 가져올 때 해당 백엔드 API를 통해 데이터 요청을 수행하는 것이 일반적입니다. 이를 통해 백엔드의 비즈니스 로직이나 데이터 처리 등을 활용할 수 있습니다.
    • 따라서, 현업에서는 일반적으로 별도의 백엔드 API가 구성되어 있을 경우, Next.js에서는 fetch 등을 사용하여 백엔드 API에서 데이터를 요청합니다.

관련된 질문과 유사한 상황에 대해서 다음의 기존 답변들이 도움이 될 수 있습니다:

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