Skip to content

Latest commit

 

History

History
46 lines (29 loc) ยท 2.86 KB

README.md

File metadata and controls

46 lines (29 loc) ยท 2.86 KB

react-virtualized-examples

๋ฌด๊ฒ๊ณ  ๊ธด ๋ชฉ๋ก์„ ๊ฐ€์ƒํ™”๋กœ ์ตœ์ ํ™”ํ•˜์„ธ์š”!
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ธด ๋ชฉ๋ก(์ˆ˜๋ฐฑ ๋˜๋Š” ์ˆ˜์ฒœํ–‰)์„ ๋ Œ๋”๋งํ•˜๋Š” ๊ฒฝ์šฐ โ€˜windowingโ€™ ์ด๋ผ๋Š” ๊ฐ€์ƒํ™” ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ์ ํ™” ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋ฒ•์€ ๋ฆฌ์—‘ํŠธ ๊ณต์‹ ์‚ฌ์ดํŠธ์—์„œ ์ถ”์ฒœํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ํ™”๋ฉด์— ์‹ค์ œ๋กœ ๋ณด์—ฌ์ง€๋Š” ๋ถ€๋ถ„๋งŒ DOM์œผ๋กœ ๋ Œ๋”๋งํ•˜๋„๋ก ์—ฐ์‚ฐํ•˜์—ฌ ์‹œ์Šคํ…œ ๋ถ€ํ•˜์™€ ๊ณผ๋„ํ•˜๊ฒŒ ๋‚ญ๋น„๋˜๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐฉ์ง€ ํ•˜์—ฌ ๋” ๋‚˜์€ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Live Demo

http://play.codejs.co.kr/react-virtualized-examples

์ผ๋ฐ˜์ ์ธ ๋ชฉ๋ก vs ๊ฐ€์ƒํ™”๋œ ๋ชฉ๋ก ๋น„๊ต

์ผ๋ฐ˜์ ์œผ๋กœ ๋ชฉ๋ก์„ ๋งŽ์ด ๋ณด์—ฌ์ฃผ๋Š” ํ™”๋ฉด๊ณผ react-virtualized๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ์ ํ™” ํ•œ ์ฐจ์ด๋ฅผ ๋น„๊ต ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์ธ ๋ชฉ๋ก

๋ชฉ๋ก์ด ๋งŽ์•„์งˆ์ˆ˜๋ก ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ DOM์ด ๋Š˜์–ด๋‚˜๊ณ  ๊ทธ๋กœ ์ธํ•ด ๋ถ€ํ•˜๊ฐ€ ์ƒ๊ฒจ ์„œ๋น„์Šค ์„ฑ๋Šฅ ์ €ํ•˜์˜ ์›์ธ์ด ๋ฉ๋‹ˆ๋‹ค.

Alt text

ํ…์ŠคํŠธ ๋ชฉ๋ก์— react-virtualized ์ ์šฉํ•œ ๋ชจ์Šต

์˜ˆ์ œ์˜ 500๊ฐœ ๋ชฉ๋ก ์ค‘ ํ™”๋ฉด์— ๋ณด์ด๋Š” ๋ถ€๋ถ„๋งŒ DOM์œผ๋กœ ๋žœ๋”๋ง ํ•˜์—ฌ ๋ถ€ํ•˜๋ฅผ ์ตœ์†Œํ™” ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋กœ ์ธํ•ด API๋กœ JSON์„ ๋ฐ›์•„์™€ ๋ Œ๋”๋ง ํ•˜๋Š” ์ตœ์ดˆ ์‹œ๊ฐ„๊ณผ ์ถ”๊ฐ€์ ์œผ๋กœ ๋ชฉ๋ก์„ ๋”ํ•  ๋•Œ๋„ ์ตœ์†Œ 5๋ฐฐ ์ด์ƒ ๋น ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Alt text

์ด๋ฏธ์ง€ ๋ชฉ๋ก์— react-virtualized ์ ์šฉํ•œ ๋ชจ์Šต

์ด๋ฏธ์ง€๊ฐ€ ์žˆ๋Š” ๋ชฉ๋ก๋„ ๋ฌธ์ œ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€๊ฐ€ ๋กœ๋“œ๋œ ์ดํ›„ ์š”์†Œ์˜ ์‚ฌ์ด์ฆˆ ์ธก์ •์„ ํ•  ์ˆ˜ ์žˆ์–ด์š”!

Alt text

์‚ฌ์šฉ๋œ ์ฃผ์š” API

  • List : ์ฐฝ์— ๋ณด์ด๋Š” ์š”์†Œ๋งŒ ๋ Œ๋”๋งํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ์ž…๋‹ˆ๋‹ค. (๋ฌธ์„œ)
  • AutoSizer : ๋‹จ์ผ ์ž์‹์˜ ๋„ˆ๋น„์™€ ๋†’์ด๋ฅผ ์ž๋™์œผ๋กœ ์กฐ์ •ํ•˜๋Š” ๊ณ ์ฐจ ์ปดํฌ๋„ŒํŠธ์ž…๋‹ˆ๋‹ค. (๋ฌธ์„œ)
  • CellMeasurer : ์‚ฌ์šฉ์ž๊ฐ€ ๋ณผ ์ˆ˜ ์—†๋Š” ๋ฐฉ์‹์œผ๋กœ ์ผ์‹œ์ ์œผ๋กœ ๋ Œ๋”๋งํ•˜์—ฌ ์…€ ํฌ๊ธฐ๋ฅผ ์ž๋™์ธก์ •ํ•˜๋Š” ๊ณ ์ฐจ ๊ตฌ์„ฑ ์š”์†Œ์ž…๋‹ˆ๋‹ค. (๋ฌธ์„œ)
  • CellMeasurerCache : CellMeasurer์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ถ€๋ชจ(์—ฌ๊ธฐ์„œ๋Š” List)์™€ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. (๋ฌธ์„œ)

์ ์šฉํ•˜๋ฉด ์ข‹์€ ๊ณณ

  • ์Šคํฌ๋กค๋กœ ๋ฌดํ•œ์ • ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ๋Š” ๋ชฉ๋ก
  • ์ง€์†์ ์œผ๋กœ ์Œ“์ด๋Š” ์ฑ„ํŒ… ๋ชฉ๋ก
  • ์ง€์†์ ์œผ๋กœ ์Œ“์ด๋Š” ์•Œ๋ฆผ ๋ชฉ๋ก

๊ณต์‹๋ฌธ์„œ