킹의 개발일지
WIL - 1 본문
과제
1주차 과제는 '리액트 훅을 얼마나 잘쓰고 있었나' 묻는게 주가 됐다.
useState, useMemo, useCallback, memo 등등 리액트에서 제공하는 훅을 사용해서 문제를 해결했다.
기억나는 과제
과제중 기억에 남는건 memo와 useMemo, callback을 쓰지않고 리렌더링 횟수를 줄이는 문제다.. memo는 살면서 처음 들었기에, '아 이런게 있구나' 싶었다. 사용법도 간단한게 고차컴포넌트 만들듯, memo로 컴포넌트를 감싸주면된다.
memo
https://ko.react.dev/reference/react/memo
memo – React
The library for web and native user interfaces
ko.react.dev
memo는 간단하게 설명하면 컴포넌트를 캐시하고 프롭이 바뀌지 않는 한 리렌더링 하지 않는 기능을 한다. useMemo를 컴포넌트에 적용시킨 격이다.
useMemo, useCallback을 사용하지 않고 최적화
평소 렌더링과 관련 없는 변수 및 함수는 다른 파일에 저장하거나, 컴포넌트 함수 밖에다 선언하는 습관이 있다. 컴포넌트는 리렌더링 될 때마다 컴포넌트 함수를 호출하기에, 렌더링에 관여하진 않는 변수마저 호출하는게 찝찝했기 때문이다. 이를 의미하듯 과제에서 저런 내용이 나왔을 때 '나만 그렇게 생각한게 아니었구나' 싶었던 순간이었다. 평소처럼 전역 공간에 변수를 선언하자 테스트는 통과 됐다.
퇴근 후 일사에 규칙이 생겼다.
항해를 시작한지 1주가 지났다. 생활에 규칙이 조금 생겨났다. 퇴근하고 귀찮아서 밥먹고 바로 누웠는데, 항해를 시작하고 모각코를 하는 일이 추가 됐다. 말그대로 '모여서 각자 코딩'을 하는것인데, 주로 과제를 했다.