화면에 보이는 행과 셀만 렌더링해 대용량 목록과 표 데이터를 효율적으로 표시하는 React 컴포넌트 모음입니다.
bvaughn/react-window
화면에 보이는 행과 셀만 마운트해 대규모 목록과 표 데이터를 효율적으로 렌더링하는 React 컴포넌트입니다.
- 스타
- 17,199
- 포크
- 815
- 열린 이슈
- 0
- 마지막 커밋
- 3시간 전
어떤 프로젝트인가요?
react-window는 수천 개의 DOM 노드를 한꺼번에 렌더링할 때 발생하는 성능 저하 없이 긴 목록과 그리드를 표시할 수 있는 React 컴포넌트 라이브러리입니다. 행 기반 데이터용 List 컴포넌트와 행·열로 구성된 데이터용 Grid 컴포넌트를 제공하며, 현재 보이는 뷰포트 안의 항목과 설정 가능한 오버스캔 버퍼만 렌더링합니다.
두 컴포넌트 모두 행 또는 셀을 렌더링하는 컴포넌트와 항목 수를 받으며, 고정 또는 동적 크기, 백분율 기반 크기, 사용자 지정 키, 스크롤 위치를 위한 선택적 props도 지원합니다. 컴포넌트 자체 컨테이너뿐 아니라 상위 요소나 window를 통해 스크롤할 수 있고, imperative ref를 사용하면 스크롤 메서드를 호출할 수 있습니다. TypeScript 정의는 npm 패키지에 포함되어 있습니다.
이 라이브러리는 npm으로 설치하며, 브라우저에서 대규모 데이터셋을 렌더링해야 하는 React 개발자를 대상으로 합니다. 자세한 문서와 FAQ는 프로젝트 웹사이트에서 확인할 수 있습니다.
핵심 기능
- 01화면에 보이는 행이나 셀만 렌더링해 대규모 데이터셋에서도 DOM 크기를 작게 유지합니다
- 02행 데이터용 List와 2차원 표 데이터용 Grid를 제공합니다
- 03고정값, 백분율, 함수 기반의 행 높이와 열 너비를 지원합니다
- 04hook을 통해 동적 행 높이를 측정할 수 있습니다
- 05scrollElement를 통해 window 또는 상위 요소에서 스크롤할 수 있습니다
- 06스크롤을 위한 imperative ref API와 TypeScript 타입을 제공합니다
활용 사례
- React 앱에서 수천 개의 항목이 있는 채팅 메시지, 로그 또는 피드를 렌더링할 때
- 웹 대시보드에서 데이터 테이블이나 스프레드시트 형태의 그리드를 만들 때
- 지연 없이 긴 드롭다운 또는 선택 옵션 목록을 표시할 때
- window와 함께 스크롤되는 페이지 안에 가상화된 목록을 삽입할 때
빠른 시작
- 1
NPM에서 라이브러리를 설치하세요
npm install react-window - 2
TypeScript 정의는 배포된 dist 폴더에 포함되어 있습니다. 사용 방법은 문서 사이트를 참조하세요
사용 전 알아둘 점
- README에 따르면 행 높이를 동적으로 설정하는 방식은 미리 정해진 크기를 사용하는 방식보다 효율성이 떨어집니다.
토픽
자주 묻는 질문
- react-window은(는) 무엇인가요?
- 화면에 보이는 행과 셀만 마운트해 대규모 목록과 표 데이터를 효율적으로 렌더링하는 React 컴포넌트입니다. react-window는 수천 개의 DOM 노드를 한꺼번에 렌더링할 때 발생하는 성능 저하 없이 긴 목록과 그리드를 표시할 수 있는 React 컴포넌트 라이브러리입니다. 행 기반 데이터용 List 컴포넌트와 행·열로 구성된 데이터용 Grid 컴포넌트를 제공하며, 현재 보이는 뷰포트 안의 항목과 설정 가능한 오버스캔 버퍼만 렌더링합니다.
- react-window은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- react-window은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- react-window은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. react-window의 마지막 커밋은 2026년 10월 22일입니다.
- react-window은(는) 어디에 사용할 수 있나요?
- React 앱에서 수천 개의 항목이 있는 채팅 메시지, 로그 또는 피드를 렌더링할 때 웹 대시보드에서 데이터 테이블이나 스프레드시트 형태의 그리드를 만들 때 지연 없이 긴 드롭다운 또는 선택 옵션 목록을 표시할 때 window와 함께 스크롤되는 페이지 안에 가상화된 목록을 삽입할 때
- react-window는 어떻게 설치하나요?
- NPM에서 라이브러리를 설치하세요: npm install react-window TypeScript 정의는 배포된 dist 폴더에 포함되어 있습니다. 사용 방법은 문서 사이트를 참조하세요
- react-window은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/bvaughn/react-window
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
shadcn 또는 jsrepo로 설치할 수 있는 무료 애니메이션·커스터마이징 가능한 React 및 Next.js 컴포넌트와 배경 215개 이상을 제공하는 라이브러리입니다.
다크 모드와 Next.js RSC를 지원해 웹 앱을 빠르게 만들 수 있는 접근성 중심의 React 컴포넌트 라이브러리이자 디자인 시스템입니다.
100개 이상의 컴포넌트와 80개 이상의 훅, 폼·차트·알림 등을 위한 애드온 패키지를 제공하는 React 컴포넌트 라이브러리입니다.
React Aria와 Tailwind CSS v4를 기반으로 한 React UI 컴포넌트 라이브러리로, 이전 이름은 NextUI입니다.
Next.js 또는 shadcn/ui 앱에 복사해 넣어 사용할 수 있는 애니메이션 UI 컴포넌트와 효과 모음입니다.