221128(월)
🎄 성장일지 3.0
책 행복한 이기주의자(웨인 다이어)
의 내용에 자극받아 시작하는 소박한 성장기록
살아있는 꽃과 죽은 꽃은 어떻게 구별하는가?<br/> 성장하고 있는 것이 살아 있는 것이다.<br/> 생명의 유일한 증거는 성장이다!
🌳 키워드 (1.0)<br/> 최대한 간단하게 정리, 추후에 보면서 스스로 설명<br/> 🍉 경험 위주로 (2.0)<br/> 단순 정보를 전달하기보다 무엇을 배웠고 어떻게 해결했는지 짧고 간단하게 작성<br/> ❄️ 정해진 템플릿에 맞춰서 (3.0)<br/> 키워드, 경험 모두 좋다. 다만 매일 작성하기로 마음 먹은만큼 핵심만 간결하게 정리할 수 있게 템플릿을 작성
🔑 오늘의 키워드
- 리액트
- Context API를 통한 props drilling 방지
- useReducer 활용 심화
- 타입스크립트
- 공변성과 반공변성(그리고 이변성, 불변성)
- 오버로딩(더 깔끔한 건 옵셔널)
📝 요약 및 하루 간단 회고
Context API를 통해 전역에서 상태를 관리하는 게 편리하긴 하다. 물론 컴포넌트 깊이가 깊지는 않아서 이 정도겠지만, 훨씬 큰 프로젝트에서는 더 빛을 발할 것이라 생각한다. 또한 저번에 useReducer의 dispatch도 결국엔 props로 전달해야하다보니 뭔가 아쉬웠는데, Context API에 dispatch도 담아서 관리하니 훨씬 편한 것 같다. 다만, 이렇게 상태가 다양한 곳에서 쓰이다보니 useEffect, useCallback, useMemo와 같은 훅들의 deps 인자가 헷갈릴 때가 있다. 이건 계속 코드를 써보면서 연습하도록 하자.
타입스크립트의 공변성, 반공변성이 처음엔 헷갈렸는데 이해하고 나니 은근 쉬웠다..?! 특히 함수의 매개변수가 반공변성이라는 점이 쉽게 이해가 안갔는데 나만의 예시로 생각하고 보니 당연하게 생각되게 되었다. 공부할수록 재미있는 게 타입스크립트같다.
undefined