useContext
는 React의 Context API를 사용하여 컴포넌트 트리 전체에 걸쳐 데이터를 전달할 수 있는 훅입니다. 전역 상태를 관리할 때 유용하며, props drilling(여러 컴포넌트를 거쳐 props를 전달하는 것)의 번거로움을 줄여줍니다.
useContext
를 사용하는 방법은 다음과 같습니다:
- Context 생성하기:
React.createContext()
를 사용하여 Context를 생성합니다. 이것은 Context 객체를 반환하고, 이 객체는Provider
와Consumer
컴포넌트를 포함합니다.
import React from 'react';
// 초기값(여기서는 빈 객체)과 함께 Context 생성
const MyContext = React.createContext({});
- Provider를 사용하여 값 제공하기:
Provider
를 사용하여 Context의 값을 정의하고, 이 값을 하위 컴포넌트들과 공유합니다.
const App = () => {
const contextValue = {
user: 'Alice',
isAuthenticated: true,
};
return (
<MyContext.Provider value={contextValue}>
{/* 이 안에 있는 컴포넌트들은 MyContext의 값을 사용할 수 있음 */}
<MyComponent />
</MyContext.Provider>
);
};
useContext
로 Context 사용하기: 하위 컴포넌트에서useContext
훅과 Context 객체를 사용하여 값에 접근합니다.
import React, { useContext } from 'react';
const MyComponent = () => {
// MyContext에서 제공하는 값을 가져옴
const context = useContext(MyContext);
return <div>User: {context.user}</div>;
};
useContext
훅을 사용하면, 컴포넌트가 Provider
에 의해 전달된 값을 읽을 수 있습니다. Provider
는 컴포넌트 트리 어디에서나 사용될 수 있으며, 하위 컴포넌트들은 가장 가까운 상위 Provider
의 값을 사용하게 됩니다. 값이 변경되면, 해당 Context를 사용하는 모든 컴포넌트들이 리렌더링됩니다.
이 방법은 로그인 상태, 테마, 언어 설정 등 앱의 여러 부분에서 공유되어야 하는 상태를 관리할 때 특히 유용합니다.
반응형
'IT∙테크∙프로그래밍' 카테고리의 다른 글
React vs. React Native: 이해하기 쉬운 가이드 (0) | 2023.11.08 |
---|---|
파이썬에서 모듈을 찾을 수 없다고 할때 (0) | 2023.11.07 |
Gatsby가 여전히 쓸만한 프레임워크인 이유 (0) | 2023.11.07 |
Next.js를 쓰는 이유: 현대 웹 개발을 위한 필수 프레임워크 (0) | 2023.11.07 |
초보자를 위한 리액트(React) 입문 가이드 (0) | 2023.11.07 |