Frontend/React
[React] NPM에 없는 JS라이브러리를 로드하고 사용하는 여러가지 방법
Sungwoo Koo
2023. 12. 27. 11:43
1. 커스텀 훅 사용
장점
재사용성
같은 로직을 여러 컴포넌트에서 재사용할 수 있습니다.
분리된 관심사
로딩 로직을 컴포넌트로부터 분리하여 관리할 수 있습니다.
코드의 중복 최소화
중복되는 코드를 줄일 수 있습니다.
단점
학습 곡선
커스텀 훅을 제대로 이해하고 사용하기 위해선 React 훅에 대한 이해가 필요합니다.
2. 전역 상태 관리 (예: Redux, Context API)
장점
애플리케이션 전반에서 상태 공유
JS 라이브러리의 로드 상태를 앱의 모든 컴포넌트와 공유할 수 있습니다.
중앙 집중식 관리
상태를 한 곳에서 관리하여 일관성을 유지할 수 있습니다.
단점
복잡성
상태 관리 라이브러리의 추가적인 복잡성과 설정이 필요합니다.
오버헤드
작은 애플리케이션의 경우, 전역 상태 관리가 과도하게 느껴질 수 있습니다.
3. 정적 임포트 (HTML <script> 태그 사용)
장점
간단함
HTML 파일에 직접 <script> 태그를 추가하는 간단한 방법입니다.
즉시 로딩
페이지 로드 시 opencv.js가 자동으로 로드됩니다.
단점
초기 로드 시간 증가
페이지 로드 시간이 길어질 수 있습니다.
페이지 전체에 영향
페이지의 모든 컴포넌트가 로드될 때까지 대기해야 합니다.
4. 동적 임포트 (Lazy Loading)
장점
성능 최적화
필요할 때만 JS 라이브러리를 를 로드합니다.
초기 로드 시간 감소
애플리케이션의 초기 로드 시간을 단축할 수 있습니다.
단점
코드 분할 필요
애플리케이션의 코드 분할 및 구성이 필요합니다.
비동기 로딩
사용자가 해당 기능을 요청할 때까지 로딩이 지연될 수 있습니다.