23.06.30(금)
하루 요약
- 10시 ~ 22시 : 공유오피스
- 22시 ~ 23시 : 운동
오늘 한 일
- Gloddy 개발
- CS공부
오늘 배운 내용 요약
- React의 단방향 데이터 흐름으로 인한 Props Drilling을 해결하기 위해 전역 상태 관리가 등장하였다.
- Context API는 React에서 제공하는 전역 상태 관리 라이브러리이지만,
Context.Provider
로 감싼 하위의 컴포넌트가 리렌된다는 치명적인 성능 이슈가 있다. - Redux는 Store, Action, Reducer로 구성
- Store는 상태가 관리되는 오직 하나의 공간
- Action은 Store에 상태를 변경하기 위한 명령
- dispatch()를 사용하여 Action을 Reducer에게 전달
- Reducer는 ACtion의 주문을 보고 Store의 상태를 업데이트
- Redux는 단방향 모델링이라 예측이 쉽고, Store라는 저장소에 상태가 중앙화 되어 관리가 쉽고, 읽기 전용이라 상태 추적이 쉬움
추가로 학습할 것
- Redux가 완벽히 이해가 되지 않는다. Reducer, Redux 아직도 헷갈린다. 더 깊이 있는 학습이 필요하다.
- Redux외의 내가 사용했던 Recoil의 장단점 또한 궁금하다.
오늘의 생각
오늘 개발을 하며, UI 라이브러리를 쓰는 게 좋을 지, 안 쓰는 것이 좋을 지 고민을 많이 했다. 고민한 결과, 다른 프로젝트, 기업들에서는 자신만의 컴포넌트들을 만들어서 사용하는 것을 보고 나 또한 컴포넌트를 최대한 직접 만들어서 사용했다. 그렇다고 모든 기능을 내가 직접 만들어서 사용할 수는 없는 격이다. 나만의 규칙을 정해야겠다.
정말 구현하기 어렵고, 구현하는 것이 비효율적이라는 생각이 들 때, 그 때 라이브러리를 사용하도록 하자. 그 외에는 직접 만들자.
프로젝트를 여럿 해봤지만, 아직 부족하다는 것을 또 느꼈다. 휴대폰 번호를 입력할 때 ' - '를 자동으로 넣어주는 기능을 구현하는데 여기서 에를 많이 썼다. chatGPT의 도움도 조금 받았다. 이것 뿐만 아니라 tailwind에 정적으로 class할당하기, layout이 최대로 확장 안되는 이슈 등 많은 이슈들도 있었다.
아직 많이 부족함을 느꼈고, 이 프로젝트를 하면서 내 것으로 전부 소화해내야겠다.
그리고, 태어나 처음으로 돈 받고 개발을 하는 만큼 성의 있게, 최선을 다해 개발을 하도록 하자.