useContext()

inside_6_·2024년 3월 9일

React_Hooks

목록 보기
4/10
post-thumbnail

개요

const value = useContext(SomeContext)

useContext훅은 컴포넌트 트리 안에서 데이터를 전역적으로 공유할 수 있는 훅이다. prop-drilling없이 여러 컴포넌트에 걸쳐 데이터를 쉽게 전달하고 접근할 수 있다.


활용예제

import React, { useContext, createContext } from 'react';

// Context 생성
const MyContext = createContext();

function App() {
  return (
    // Provider를 사용하여 값을 공유
    <MyContext.Provider value="Hello World!">
      <Child />
    </MyContext.Provider>
  );
}

function Child() {
  // useContext를 사용하여 값에 접근
  const value = useContext(MyContext);
  return <div>{value}</div>; // "Hello World!" 출력
}

위 예제에서 App컴포넌트는 MyContext.Provider를 사용하여 Child컴포넌트에 'Hello World'라는 value를 전달한다.

Child컴포넌트에선 useContext를 사용하여 이 값을 받아와 사용을 할 수 있다.

즉, 전달해주고자하는 컴포넌트에 MyContext.Provider를 씌워 값을 전달해주어야 하며 그 값을 활용하는 컴포넌트에선 useContext를 활용하여 값을 사용할수 있다.

useContext는 상태관리가 필요한 다양한 데이터(사용자 인증 정보, 테마, 언어 설정 등)를 효율적으로 관리할 때 유용하게 사용된다.


적용점

주로 다크모드, 언어설정 등 전역적으로 적용되는 설정을 관리할 때 주로 쓰인다. 그리고 상태관리라 하니 recoil, redux도 생각나게 되는데 상태관리면에서 이들과 어떤 차이가 있는지, 어떻게 활용할 수 있는지 알아봐야겠다.


참조

profile
한다. 프론트엔드.

0개의 댓글