일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- LDA
- frontend
- 최적화
- 대감집 체험기
- 구글
- 심층신경망
- python
- Kaggle
- 프론트엔드
- ADP
- 타입스크립트
- 대감집
- 클러스터링
- docker
- bigquery
- DBSCAN
- 차원 축소
- r
- 리액트
- 빅쿼리
- ADP 실기
- 캐글
- do it
- Machine Learning
- Kubernetes
- 쿠버네티스
- 파이썬
- React
- 머신러닝
- TooBigToInnovate
- Today
- Total
No Story, No Ecstasy
리액트를 다루는 기술 개정판 [Context API] 본문
15. Context API
- Context API는 전역적으로 사용할 데이터가 있을 때 유용한 기능
- 예) 로그인 정보, 애플리케이션 환경 설정, 테마 등
- 새 Context 만들기
. import { createContext} from 'react';
. const ColorContext = createContext({ color: 'black' });
- Provider를 사용하면 Context의 value를 변경할 수 있다.
. Provider를 사용할 때는 value 값을 명확히 명시해야 한다.
- 동적 Context 사용하기
. Context의 value에 값이 아닌 함수를 전달할 수도 있다.
. onClick: 좌클릭, onContextMenu: 우클릭 (e => {e.preventDefault();}해주면 브라우저 메뉴가 나타나지 않음)
- Consumer 대신 Hook or static contextType 사용하기
. useContext Hook 사용하기 (함수형 컴포넌트)
. static contextType 사용하기 (클래스형 컴포넌트)
. static contextType을 정의하면 클래스 메서드에서도 Context에 넣어 둔 함수를 호출할 수 있다.
. 그러나, 한 클래스에서 하나의 Context만 사용할 수 있다.
. 컴포넌트를 클래스형으로 작성하는 일은 많지 않기 때문에 useContext를 사용하는 쪽을 권한다.
'Frontend Series' 카테고리의 다른 글
리액트를 다루는 기술 개정판 [외부 API를 연동하여 뉴스 뷰어 만들기] (0) | 2021.04.24 |
---|---|
리액트를 다루는 기술 개정판 [리액트 라우터로 SPA 개발하기] (0) | 2021.04.22 |
리액트를 다루는 기술 개정판 [IMMER 불변성 유지] (0) | 2021.04.22 |
리액트를 다루는 기술 개정판 [컴포넌트 성능 최적화] (0) | 2021.04.22 |
Do It! 타입스크립트 프로그래밍 [프로젝트 생성과 관리] (0) | 2021.04.18 |