카
카카오엔터테인먼트FE
November 10, 20221회
이제부터 이 컴포넌트는 제 겁니다
간단 소개
리액트 컴포넌트의 제어 역전(IoC) 패턴들을 렌더링과 상태 관리 측면에서 분석하고, 각 패턴의 특징과 장단점을 설명합니다.
AI Summary
- 렌더링 IoC
- 컴포넌트 사용자가 렌더링 방식을 컨트롤하도록 하는 IoC 패턴 소개.
- Render Props 패턴: 렌더링 함수를 props로 전달하여 유연성을 확보하나, 복잡한 조건 처리에는 제한적.
- 합성 컴포넌트 패턴: Context/Provider를 활용, 여러 컴포넌트가 로직 공유. UI 컨트롤 유연성 증가, 단 Context/Provider 구성으로 복잡도 증가 가능.
- 상태 관리 IoC
- 컴포넌트 내부 상태와 변화 로직을 외부에서 컨트롤하는 방법.
- 제어 컴포넌트 패턴: props를 통해 상태와 콜백 함수를 받아 외부에서 상태 관리, 간단하지만 props 증가 시 사용성 저하.
- Props Getter 패턴: 커스텀 훅을 사용하여 콜백 함수 전달, 중복 로직 제거, 필요한 콜백만 오버라이딩, 복잡한 컴포넌트 컨트롤 용이.
- State Reducer 패턴: reducer를 외부에서 정의, 컴포넌트 상태 관리, 액션 타입에 따라 상태 변화, 컴포넌트 사용 간결성 증대.
Next Feeds
주니어 개발자의 오픈소스 활동 이야기
주니어 개발자가 MongoDB 관련 문제점을 발견하고 개선하여 오픈소스에 기여한 경험을 공유합니다.
오픈소스MongoDB커넥션 풀로그 레벨SDAM
2022. 11. 3.
카카오페이
Kurly만의 MLOps 구축하기 - 쿠브플로우 도입기
컬리 데이터 플랫폼팀의 쿠브플로우 도입 및 구축 과정, 세이지 메이커와의 비교, 그리고 쿠브플로우 커스터마이징 팁을 공유합니다.
쿠브플로우MLOps세이지 메이커쿠버네티스Elyra
2022. 11. 2.
컬리
내비 안내 음성은 어떻게 자동으로 만들어질까? - 16편 - 서버 기반 TTS 개발하기
티맵의 서버 기반 TTS 개발 과정과 그 장점을 설명하며, 앱 용량 감소 및 음성 다양성 확보에 기여했음을 강조한다.
TTS음성 합성서버 기반티맵내비게이션
2022. 11. 2.
티맵모빌리티
안드로이드 멀티모듈 도입기 - 온보딩 프로젝트를 통한 안드로이드 멀티모듈 도입기
안드로이드 멀티모듈 도입 과정과 클린 아키텍처 적용, Gradle Version Catalog 활용을 통한 효율적인 개발 및 관리 방법 소개.
멀티모듈Clean ArchitectureGradle Version CatalogHilt의존성 관리
2022. 10. 28.
카카오헤어샵
LiveData에서 Flow로 변형해보기 - LiveData -> Flow(StateFlow & SharedFlow)
LiveData의 한계를 극복하고 Flow, StateFlow, SharedFlow를 활용하여 Android 앱 개발 효율성을 높이는 방법을 설명합니다.
LiveDataFlowStateFlowSharedFlowKotlin
2022. 10. 28.
카카오헤어샵

유연하게 프로젝트별 개발환경 자동 설정하기(nvm) - nvm deeper shell integration 활용
nvm과 .nvmrc 설정을 통해 프로젝트별 node.js 버전을 자동으로 관리하여 개발 환경을 효율적으로 구성하는 방법을 제시합니다.
nvmnode.js개발환경자동설정.nvmrc
2022. 10. 27.
카카오헤어샵