ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 220921 TIL
    하루 30분 TIL 2022. 9. 21. 23:28

    1. uuid, nanoid는 map 함수의 리스트의 key 값으로 적절하지 않다. 

    리액트는 키를 할당할 때 매번 동일한 key 값을 가지는 것을 이상적으로 본다. 하지만 uuid의 경우 변경이 생길 때마다 

    새로운 값을 할당하게 되므로 React가 가상 돔을 조정할 때 데이터 최적화를 할 수가 없게된다. 

    (직접 uuid나 nanoid를 key를 넣지 않고 객체의 id 부여하는 건 괜찮다) 

     

    단순히 중복되지 않은 값에 초점을 맞추게 되어 놓치기 쉬운 실수 이다. 

     

    2. useCallback은 언제 써야 할까? 

    모든 최적화, 추상화의 코드는 비용을 수반한다. 그렇기 때문에 그 '비용'을 상쇄시킬 만한 '절감'이 이루어 지지 않는 다면 오히려 역효과를 내기도 한다. (메모이제이션을 위한 추가 메모리 할당, dependency로 실수 유발) 

    그래서 최적화을 이루기 위해 사용한다면 전후 성능 비교를 반드시 해야한다. 최근에는 함수가 맡는 롤이 작아졌고 React 자체가 워낙 빠르기 때문에 사용하지 않는 추세이다. 

     

    * 메모이제이션: 컴퓨터 프로그램이 동일한 계산을 반복해야할때, 이전에 계산한 값을 메모리에 저장해 놓음으로써 동일하나 계산의 반복 수행을 제거하여 프로그램 실행 속도를 빠르게 하는 기

     

    '하루 30분 TIL' 카테고리의 다른 글

    221025 TIL  (0) 2022.10.26
    TIL 221013(catch문에서 타입 unknown )  (0) 2022.10.14
    220915 TIL  (0) 2022.09.15
    220914 TIL  (0) 2022.09.15
    7월 21일 회고(sitemap.xml,robot.txt, getLayout)  (0) 2022.07.22

    댓글

Designed by Tistory.