Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- javascript
- returnType
- NonNullable
- reactjs
- 2022
- 공통컴포넌트
- vue.js
- 레이아웃쪼개기
- CSS
- 커스텀
- react
- 리액트
- 폰트적용하기
- const 단언문
- React Native
- click and drag
- TSDoc
- 성능최적화
- JS console
- 제네릭
- typescript
- 개발콘텐츠
- 누구나 자료구조와 알고리즘
- 반복줄이기
- 티스토리꾸미기
- Chart.js
- 타입좁히기
- 타입스크립트
- React.js
- utilty type
Archives
- Today
- Total
몽땅뚝딱 개발자
[React] Context API 본문
컴포넌트가 중첩되어있을 경우, 자식에서 자식으로 props를 사용하여 계속 넘겨야 하기 때문에 데이터 공유가 힘들다.
이 때 Context API를 사용할 수 있다.
◽ Context API 사용하기
1. 변수를 선언한다.
import {createContext} from "react";
let TestContext = createContext()
// 다른 컴포넌트와 공유할 경우 export를 붙여준다.
// export let Context = createContext()
2. 아래와 같이 공유할 컴포넌트를 감싸준다.
// 공유할 변수는 여러개 작성할 수 있다.
<TestContext.Provider value={ {stock, item} }>
<Detail shoes={item} />
</TestContext.Provider>
3. 공유할 컴포넌트를 import 한다.
import {TestContext} from "../App";
function Detail(props) {
let testVal = useContext(TestContext)
console.log(testVal);
// 디스트럭쳐링 문법으로 아래처럼 사용할 수 있다.
// let { stock } = useContext(TestContext)
// ...
}
◽ Context API를 사용하지 않는 이유
1. state를 변경할 때 비효율적으로 불필요한 컴포넌트까지 모두 재렌더링 된다.
2. useContext()를 사용하는 컴포넌트에서는 일일이 Context를 import 하는 것이 번거로울 수 있다.
= 그래서 리덕스같은 외부라이브러리를 사용한다.
출처
'Development > React.js · Next.js' 카테고리의 다른 글
[React] 성능개선하기 (0) | 2022.10.03 |
---|---|
[React] CSS 적용하기 / SASS / 스타일 리셋 (0) | 2022.10.03 |
[React] 기타 정보 (0) | 2022.09.25 |
[React] 라이프사이클(LifeCycle) (0) | 2022.09.25 |
[React] 스타일드 컴포넌트(styled component) 사용하기 (0) | 2022.09.13 |
Comments