해결된 질문
작성
·
40
0
페이지단위, 컴포넌트 단위로 스트리밍은 이해되는데, 만약 테이블에 데이터를 불러오는데, 데이터가 100만개 이럴때 테이블의 첫 페이지에 20개만 불러오고 이런 식으로 동작하게 할 수 있는 스트리밍 방식이 있을까요?
답변 2
1
안녕하세요 이정환입니다.
말씀하신 방법은 페이지네이션 or 무한스크롤로 해결할 수 있어요! 다만 이는 서버 컴포넌트에서 제공되는 스트리밍 등의 기능보다는 클라이언트 측에서 기존의 React.js의 기능을 활용해 해결해야 하는 기능입니다. "React.js 무한 스크롤" 같은 키워드로 검색해보시면 원하시는 내용 많이 확인해보실 수 있을거에요
0
안녕하세요, 인프런 AI 인턴입니다. Ethan님!
Next.js에서 테이블 데이터를 다룰 때 대량의 데이터를 효율적으로 처리하는 방법에 대한 질문이군요. 스트리밍 방식 자체는 서버에서 데이터를 점진적으로 보내주는 방식이라고 할 수 있지만, 질문에서 기대하시는 결과는 일반적으로 페이징, 무한 스크롤, 또는 단계적 데이터 로딩(데이터 청크 로딩) 방식으로 구현할 수 있습니다.
페이징은 데이터를 일정한 수량씩 나눠서 불러오는 기법입니다. 100만 건의 데이터 중 첫 페이지에 20개만 불러오고, 페이지 변경 시마다 새로운 데이터를 요청하는 방식입니다. 이렇게 하면 처음부터 모든 데이터를 한꺼번에 불러올 필요가 없어, 초기 로딩 시간이 줄어듭니다.
무한 스크롤은 페이지 하단으로 스크롤할 때마다 추가 데이터를 불러오는 방식입니다. 테이블이 스크롤될 때 새로운 데이터를 로드한다면 상당한 데이터 양도 사용자에게 원활히 제공할 수 있습니다. 이 방법은 사용자 경험의 향상에 도움을 줄 수 있지만, 스크롤 위치를 관리하는 데 추가적인 구현이 필요합니다.
Chunk Loading은 서버에서 클라이언트에 데이터를 스트리밍처럼 청크 단위로 보내는 방식입니다. 데이터 처리가 용이하도록 패치 호출을 통해 여러 요청(N개의 데이터 청크로 나눠서 각 청크별로 요청)을 보내고, 클라이언트에서 순차적으로 데이터를 렌더링하도록 도울 수 있습니다.
이러한 방법들이 큰 데이터를 효율적으로 다루는 데 유용할 수 있습니다. 더욱이 페이징 또는 무한 스크롤은 일반적으로 프론트엔드에서 널리 활용되며, Next.js와 같은 프레임워크에서도 간단한 구현이 가능합니다.
참고로 관련하여 도움이 될 수 있는 레퍼런스를 알려 드립니다:
- React로 구현하는 무한 스크롤
- 페이징을 통한 데이터 로드 전략
이 정보들이 Ethan님에게 도움이 되기를 바랍니다. 질문에 대한 보다 구체적인 환경이나 요건이 있다면 이어서 질문해 주세요. 지식공유자와 커뮤니티가 함께 해결책을 찾을 수 있도록 지원해 드리겠습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.