2022 스터디 - ChoDragon9/posts GitHub Wiki

기타

리엑트 라이프사이클 자료 -https://julesblom.com/writing/react-hook-component-timeline

성능 최적화

자료 추가

  • Safari 15.2에서 transform 사용 시 깜빡거림.
  • iOS에서 레이아웃 계산이 빈번하면 애니메이션 성능 저하됨
    • 재현 상황: 포스트의 컨텐츠 더보기 클릭 시 하단으로 펼쳐지는 애니메이션
    • 해결: 부모 노드의 높이값 변경 후 자식 노드에 높이 변경 애니메이션 처리

React

  • React 부분 렌더링
    • return 없고 useEffect만 사용하는 Custom Hook은 Headless Component를 사용하면 불필요한 리렌더링을 방지할 수 있음
  • React 부분 렌더링2
  • 커스텀 훅
    • 커스텀 훅을 재실행해도 useState는 유지됨
    • 커스텀 훅에 선언되는 함수들을 useCallback로 선언하면 리렌더링을 방지할 수 있음

Long Task

Scheduler

setImmediate 스펙도 setTimeout으로 처리하는 것보다 더 빠른 성능 내도록 설계되었지만 해당 스펙은 2011에 MS 직원 2명의 발의했고 Edge에서만 잠깐 지원되었음. core-js에 polyfill로 구현됨

  • MVP API인 postTask API는 inter-frame의 사용자가 지정할 수 있는 task queue인 scheduler task queue가 생긴 것에 의미가 있음
  • MVP API 다음 스펙인 비동기 요청의 우선순위, 써드파티 라이브러리 컨트롤, DOM 조작 우선순위 등과 같은 스펙이 도입되면 좀 더 유용할듯

Service Worker

Privacy Sandbox

완료