resize 질문
277
작성한 질문수 55
안녕하세요. resize 할때, 프론트엔드의 프레임워크를 사용할 경우, 직접적으로 DOM을 접근하는 것은 일종의 안티패턴이잖아요. 그러면 resize 이후 변경된 값을 컴포넌트에 props로 넘기게 될텐데, 이 과정에서 잦은 리렌더링이 발생하잖아요.
그런경우에는 어떻게 하는것이 퍼포먼스 측면에서 좋을까요?
계속 리사이즈 하는것이 아니니 크게 상관없는 것인지. 아니면 다른 방식으로 처리할 수 있는 것인지 잘 모르겠네요.
답변 2
0
이 강의를 듣는 시점이 많아 달라서, 현재 질문자님에게 도움이 될지는 모르겠으나
제가 알기로는 resize 같은 이벤트발생시마다 작동하는 것을 최소화 하기위해서 debounce 나 throttle 기법을 사용하는 것으로 알고 있습니다.
두 가지모두 선생님이 언급하신 setTimeout 같은 timing 을 제어해서 callback 함수를 제어하는 방식이긴 하지만요 :)
0
말씀대로 리사이즈가 빈번하게 일어나는 것은 아니라서 따로 신경쓰지 않아도 되는 경우도 많기는 한데요,
스크롤이나 리사이즈처럼 많은 횟수가 실행될 가능성이 있는 경우 아래처럼 setTimeout과 상태변수를 이용해서 실행횟수를 제한하기도 합니다. (예제에서는 333밀리초에 1번씩, 즉 1초에 3회 실행되게 했습니다)
let state = true;
let n = 0;
window.addEventListener('resize', () => {
if (!state) return;
state = false;
setTimeout(() => {
console.log(n++);
state = true;
}, 333);
});
가끔 사용되는 패턴이니, 환경에 맞추어 변형해서 사용하시면 됩니다^^
이미지 배경 문의
0
67
1
[크로스브라우징] safari에서 동영상 영역 미노출
0
106
1
항상 궁금했는데 크림슨 컬러 선택하셨을때 활용했던 사이트 좀 알려주세요~
0
109
2
vue강의는안하시나요?!
0
101
1
스크롤 속도에 따른 messageA_opacity_out
0
115
1
drawImage(objs.videoImages[sequence], 0, 0); error
0
89
1
선생님 캔버스 width 크기는 이미지 크기에맞게 해줘야하나요?
0
127
0
선생님 안녕하세요. 혹시 메인개발(?)분야가 뭔지 궁금합니다.
0
206
1
React에서 load 상태를 어떻게 감지할 수 있을까요?
0
679
1
[섹션7-3: 버그수정 2] tempYOffset 오류
0
195
1
스크롤할 때 캔버스로 하신 이유가 있으신가요? 그냥 성능 떄문에 캔버스로 하신건가요?
0
313
2
게속 오류떠서 글 작성해봐요....
0
506
2
Vanilla JavaScript로 SPA 만드는 자료 혹은 선택 기준을 추천해주실 수 있으신가요?
1
488
1
특정 타이밍 스크롤 애니메이션 적용하기 섹션 수강중입니다.
0
455
2
[#svg, #이미지프레임과 텍스트 싱크] 스크롤 값에 움직이는 svg path, 이미지프레임과 텍스트 싱크 맞추는 것, 2가지 질문이 있습니다.
0
451
2
페이지가 처음 로딩 되었을 때 애니메이션 처리가 되지 않는 느낌입니다
0
431
1
섹션2 번째, opacity=0 되지 않고 잔상이 남습니다.
0
533
1
원래 쿼리셀렉터에서는 띄워쓰기 하면안되나요?
0
593
2
라이브러리 질문
1
412
2
translateY대신 애플에서 사용한 것 처럼 matrix로 scale의 크기를 주려고 하는데
0
409
1
[스크롤 높이 세팅] scrollHeight값이 3990아닌 4645로만 나오는데 뭐가 문제일까요? ㅠㅠ
0
598
2
scrollLoop 함수 질문
0
476
2
도메인 웹호스팅시 이미지가 안 뜨는데 누가 좀 알려주세요ㅠㅜ
0
1235
2
load 이벤트시 첫 비디오 이미지가 뜨네요.
0
506
2





