inflearn logo
강의

講義

知識共有

ブートキャンプで教えてくれないもの(リアクトレンダリング最適化編)

Virtualized Listの実装(1)

Virtualized List 에 관한 질문이 있습니다.

解決済みの質問

510

stu

投稿した質問数 2

3

Virtualized List 강의를 보고 궁금증이 생겼습니다.

 

이 최적화 방식이 레이지 로드 라고 불리는 웹 최적화 기술인 것 같은데, 인터섹션 옵저버를 바닐라 코드로 구현한 방식이라고 이해하면 될까요? 만일 같은 방식이라면 인터섹션 옵저버를 사용하지 않은 이유가 있나요? 제가 깊이가 부족해서 도움을 얻고자 질문 남겨봐요!!

(이게 들었던 해당 강의로 질문이 가는건지 모르겠네요 뭐가 뭔지..)

 

react 기술면접

回答 1

1

aftercamp

좋은 질문이네요

제가 react-window 코드를 보고 그 아이디어로 구현을 해본 것인데요. 올려주신 질문을 보니까 IntersectionObserver API로 구현이 가능할 것 같네요. react-window를 구현한 개발자가 IntersectionObserver를 모르진 않았을 것 같은데...

제가 한번 구현해보고 장단점을 답글로 남기겠습니다

 

(해당 강의로 질문이 잘 도착했습니다 😀)

1

stu

답변 주셔서 감사합니다!!

1

aftercamp

IntersectionObserver 로 구현을 해봤습니다. (리포지토리 intersection-observer 에서 확인 가능합니다)

https://github.com/things-not-learn-from-bootcamp/virtualized-list/tree/intersection-observer

 

우선 최초에 렌더링 할 때 일부만 렌더링 되도록 구현했고 보이지 않을 때 DOM에서 해제하는 것은 구현하지 못했습니다.

말씀하신대로 IntersectionObserver 로도 구현이 가능해보이고 제가 강의에서 구현한 내용은 항상 itemSize를 넘겨줘야 해서 고정된 높이의 아이템들만 렌더링이 가능했는데 IntersectionObserver을 잘 활용하면 유동적인 높이의 아이템도 구현이 가능하겠군요!

2

stu

와.. 정말 감사합니다! 바쁘신 와중에도 잊지 않고 답변해주시다니.. 올려주신 코드 보면서 학습에 큰 도움 받고 있습니다. 고맙습니다~~

클로드코드 유료플랜 할인 방법이 있을까요?

0

16

0

API Error : 400 에러의 원인과 해결방법이 궁금합니다!!

0

16

2

퍼미션 권한 설정 문의

0

18

2

커서에서 shift+enter가 안됩니다.

0

19

2

mcp 설치를 못하겠어요

0

29

2

라이브러리 관련 질문 있습니다!

0

24

2

output-styles은 Claude Code의 공식 기능이 아니라고 하는데 혹시 변경된걸까요?

0

20

2

클로드 변경

0

25

2

/config 에서 output-style 을 변경

0

22

1

한국어 문제

0

25

2

Node.js 관련 질문드립니다.

0

29

3

클로드 버전업 설치

0

25

2

쿠폰 문의 드립니다.

0

19

2

13강 프로젝트 생성 Next.js 설치이슈

0

24

3

Shell Command: Install 'cursor' command 진행에서 막혔습니다

0

25

3

74. 데이터 캐시 - 1 (이론) 강의 영상 누락

0

26

1

Agent team / subagent 생성시 재사용 가능 여부

0

29

2

shirimp task manager는 프로젝트 처음 시작 단계에서도 쓴는 것 과 관련해서 질문

0

26

2

MCP 서버 내용 변경

0

31

2

설치가 완료되었다고 하는데 왜 확인이 안될까요?ㅠ

0

29

3

맥에서 git이 설치되지 않아요...

0

24

2

Automatic batching에 관해 궁금한 점이 있습니다.

0

104

1

쓰레드 관련

1

424

1

useTransition 질문입니다!

1

402

2