코드코코

[리액트] Context API 본문

기록/정리

[리액트] Context API

코드코코 2021. 10. 24. 23:58

특정 함수를 특정 컴포넌트를 거쳐서 원하는 컴포넌트에게 전달하는 작업은 빈번히 발생하는 데,

만약 3~4개 이상의 컴포넌트를 거친다면 매우 번거로운 일이다ㅣ.

 

이를 해결하는 방법은 Context API와 dispatch를 함께 사용하는 것이다.

 

Context API

- 프로젝트 안에서 전역적으로 사용 할 수 있는 값을 관리 할 수 있음.

- 여기서 값은 상태, 함수, 외부 라이브러리 인스턴스, DOM 일 수 있음.

 

//Context를 만들 때
const UserDispatch = React.createContext(null);

/*
createContext 의 파라미터에는 Context 의 기본값을 설정.
여기서 설정하는 값은 Context 를 쓸 때 값을 따로 지정하지 않을 경우 사용되는 기본 값
*/
//ontext 안에 Provider 라는 컴포넌트가 들어있어서,
//이 컴포넌트를 통하여 Context 의 값을 정할 수 있고, value 라는 값을 설정해주면 된다.
<UserDispatch.Provider value={dispatch}>...</UserDispatch.Provider>

/*
이렇게 설정해주고 나면 
Provider 에 의하여 감싸진 컴포넌트 중 어디서든지 
우리가 Context 의 값을 다른 곳에서 바로 조회해서 사용 할 수 있다.
*/

출처

https://react.vlpt.us/basic/22-context-dispatch.html

 

22. Context API 를 사용한 전역 값 관리 · GitBook

22. Context API 를 사용한 전역 값 관리 이번에 사용되는 코드는 다음 CodeSandbox 에서 확인 할 수 있습니다. 우리가 현재 만들고 있는 프로젝트를 보면, App 컴포넌트에서 onToggle, onRemove 가 구현이 되어

react.vlpt.us

 

'기록 > 정리' 카테고리의 다른 글

[리액트] import * as React from 'react';  (0) 2021.10.25
[리액트] Immer  (0) 2021.10.25
[리덕스] 리덕스 알아보기  (0) 2021.10.24
[리액트] Hook  (0) 2021.10.24
ts-node 라이브러리란?  (0) 2021.10.18