JIGGAG

4월 한달동안 로그

2025년 6월 3일

코드 품질 개선

(번역) 2025년 리액트 트렌드

  • 서버 컴포넌트
    • 서버에서 직접 디비 가져온 데이터로 그려낸 그 자체를 반환하여 클라이언트에서 그리기만 하는 형태
    • 일반적으로 데이터를 조회하고 전달하고 다시 그려야하는 작업 과정에 소모되는 시간/자원을 줄일 수 있으니
    • 기기마다 사양 차이가 큰 경우 발생할 수 있는 퍼포먼스 문제를 해결하기 좋아보인다
    • 다만 애니메이션도 그려낼 수 있을 것 같지는 않은데
    • 이 또한 방법이 있겠지
  • 그럼 서버로부터 가져온 데이터로 직접 그려낸 컴포넌트에서 일어난 액션은 어떻게 처리할까
    • 무엇을 어떻게 처리할지 미리 정해져있고 서버로 전달된 것이 아니라면
    • 클라이언트에서 다시 처리하는 작업이 필요할 것 같은데
    • 이것도 서버에서 처리할 수 있는 방법이 있었다
  • 서버 함수
    • 서버 컴포넌트에서 직접 디비에 저장까지 할 수 있도록 서버 액션이라는 것을 추가 한다
    • 하지만 컴포넌트에서 디비에서 가져온 데이터를 직접 가공하는 형태는 취하기 어려웠는데
      • 서버 컴포넌트는 디비에서 직접 전달한 데이터를 받을 수 있더라도
      • 클라이언트에서 이 값을 수정할 수 있느냐에 대한 문제가 있었다
    • 이를 해결하기 위해 서버 함수가 추가하는데
      • 이게 그냥 API 호출하는 것과 어떤 차이가 있을지
      • API 커스텀 훅을 지원하는 것이라고 생각된다 🤔
  • 이런저런 읽다보니 정말 리액트가 완전체가 되고 있었다
    • 리액트는 처음에는 클라이언트 측 렌더링 및 라우팅을 위한 라이브러리(SPA)로 시작했지만, 이제는 CSR, SSR, SSG, ISR 등 다양한 렌더링 모드와 클라이언트 사이드, 서버 사이드, 하이브리드 라우팅을 지원하는 생태계로 발전했습니다.
    • 위에 서버 함수를 보며 느꼈던 지원하는 형태의 커스텀 훅을 사용하는 것에서 느껴지는 프레임화