Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- react-query
- 가을 감성
- 코딩 테스트
- CSS
- 개발
- 개발자
- next.js
- 협업
- eslint
- Pr
- 티스토리챌린지
- github
- zustand
- Fe
- 오블완
- tailwind css
- polling
- 비제어
- prettier
- useState
- Context API
- react
- package.json
- frontend
- form
- js
- 프레임 워크
- Study
- 개발자 도구
- PullRequest
Archives
- Today
- Total
ougi FE
[React] Context API란? 본문
728x90
오늘은 제가 여러 전역 상태관리 라이브러리들에 관심이 생겨서 이렇게 글을 쓰게 되었습니다
오늘은 전역 상태관리 라이브러리 중 Context API 라이브러리에 대해서 설명드리겠습니다
❓ Context API? 그게 뭘까
Context API는 React의 내장 API입니다
props를 사용하지 않고도 state를 쉽게 공유할 수 있게 해 줍니다
모든 컴포넌트에서 사용할 수 있는 데이터(상태, 함수 등등)를 전달할 때 유용합니다
(예: 사용자 로그인 정보, 테마 설정, 언어 설정 등)
🔍 장단점
장점
- React에서 자체적으로 제공하는 기술이기 때문에 따로 설치할 필요가 없습니다
- 다른 전역 상태관리 라이브러리들보다 배우기 쉽습니다
- 코드 구성이 간결합니다
단점
- 상위 컴포넌트 state가 변화하면 하위 컴포넌트가 모두 리렌더링 된다는 엄청난 성능 문제가 있습니다
🎯 사용법
순서
- Context 생성
- Provider 생성
- Provider 감싸기
- 사용하기
Context 생성하기
React에서 제공하는 createContext 메서드를 사용해서 Context를 생성합니다
import { createContext } from "react";
const Context = CreateContext(); // Context 생성
Provider 생성하기
이 Provider는 위에 선언한 Context를 관리합니다
value에 저것을 넣어주는 이유는 하위 컴포넌트에게 Context의 값과 이를 수정할 수 있는 setContext를 넘겨주기 위해서입니다
export function ExamProvider({ baby }) {
const [Context, setContext] = useState(null);
return (
<Context.Provider value={{ Context, setContext }}>{baby}</Context.Provider>
);
}
Provider 감싸기
이제 Context API를 사용할 하위 컴포넌트의 위에서 생성한 Provider로 감싸줍니다
import { ExamProvider } from './Context';
import Example from './Example';
export function App() {
return (
<ExamProvider>
<Example />
</ExamProvider>
);
}
사용하기
하위 컴포넌트에서는 이것들을 가져와서 사용하면 됩니다
이제 이 값들을 사용해 전역적으로 사용할 수 있게 됩니다
import { useContext } from 'react';
import { Context } from './MyContext';
const Example = () => {
const { contextValue, setContextValue } = useContext(Context);
return (
<div>
<p>Value: {contextValue}</p>
<button onClick={() => setContextValue("새로운 값")}>새로운 값 줘</button>
</div>
);
};
글을 마치며
오늘은 이렇게 React에 내장되어 있는 전역 상태관리를 할 수 있는 Context API 사용법을 알아보았는데요
이렇게 쉽게 사용할 수 있는 Context API를 잘 사용해 보셨으면 좋겠습니다
728x90
'React' 카테고리의 다른 글
[React] 제어 컴포넌트 VS 비제어 컴포넌트 (0) | 2024.11.23 |
---|---|
[React] React에서 key 값은 왜 필요할까? 🔑 (2) | 2024.11.08 |
React-Hook-Form으로 효율적으로 form 관리하자~! (3) | 2024.10.28 |
Zustand란 뭘까? 🐻 (1) | 2024.10.16 |
[React] React-Query???? 그게 뭔데???!! (0) | 2024.09.21 |