상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - React에서 useContext 훅은 어떻게 사용하나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
React에서 `useContext` 훅은 React의 Context API와 함께 사용되어, 컴포넌트 트리에서 데이터를 전역적으로 공유할 수 있도록 도와줍니다. 이 훅을 사용하면, 여러 컴포넌트가 동일한 데이터에 <a href='https://sangseek.com/sangseeks/접근할 수/ko'>접근할 수</a> 있으며, props를 통해 데이터를 일일이 전달할 필요가 없어집니다. 아래에서 `useContext` 훅의 사용법을 단계별로 설명하겠습니다. 1. Context 생성하기 먼저, Context를 생성해야 합니다. `React.createContext` 함수를 사용하여 Context를 생성할 수 있습니다. 이 함수는 두 개의 인자를 받을 수 있으며, 첫 번째 인자는 <a href='https://sangseek.com/sangseeks/기본값/ko'>기본값</a>입니다. 기본값은 Context를 제공하는 컴포넌트가 없을 때 사용됩니다. ```javascript import React, { createContext } from 'react'; const MyContext = createContext(defaultValue); ``` 2. Context Provider 만들기 Context를 사용하기 위해서는 Provider를 사용하여 하위 컴포넌트에 데이터를 전달해야 합니다. Provider는 `value` prop을 통해 하위 컴포넌트에 전달할 값을 설정합니다. ```javascript const MyProvider = ({ children }) => { const value = { /* 공유할 데이터 */ }; return ( <MyContext.Provider value={value}> {children} </MyContext.Provider> ); }; ``` 3. useContext 훅 사용하기 이제 하위 컴포넌트에서 `useContext` 훅을 사용하여 Context의 값을 가져올 수 있습니다. `useContext`는 Context 객체를 인자로 받아 해당 Context의 현재 값을 반환합니다. ```javascript import React, { useContext } from 'react'; const MyComponent = () => { const contextValue = useContext(MyContext); return ( <div> {/* contextValue를 사용하여 UI를 구성 */} <p>{contextValue.someProperty}</p> </div> ); }; ``` 4. 전체 구조 예시 이제 위의 모든 단계를 통합하여 전체 구조를 보여드리겠습니다. ```javascript import React, { createContext, useContext } from 'react'; // 1. Context 생성 const MyContext = createContext(); // 2. Provider 컴포넌트 const MyProvider = ({ children }) => { const value = { someProperty: 'Hello, World!' }; return ( <MyContext.Provider value={value}> {children} </MyContext.Provider> ); }; // 3. useContext 훅을 사용하는 컴포넌트 const MyComponent = () => { const contextValue = useContext(MyContext); return ( <div> <p>{contextValue.someProperty}</p> </div> ); }; // 4. 전체 <a href='https://sangseek.com/sangseeks/애플/ko'>애플</a>리케이션 구조 const App = () => { return ( <MyProvider> <MyComponent /> </MyProvider> ); }; export default App; ``` 5. Context의 장점 - 전역 상태 관리 : Context를 사용하면 전역 상태를 관리할 수 있어, 여러 컴포넌트에서 동일한 데이터를 쉽게 공유할 수 있습니다. - <a href='https://sangseek.com/sangseeks/props drilling/ko'>props drilling</a> 방지 : 여러 단계의 컴포넌트를 거치지 않고도 데이터를 전달할 수 있어, props drilling 문제를 해결할 수 있습니다. - 유지보수 용이 : Context를 사용하면 코드의 가독성이 높아지고, 유지보수가 쉬워집니다. 6. 주의사항 - 성능 문제 : Context의 값이 변경되면 해당 Context를 사용하는 모든 컴포넌트가 리렌더링됩니다. 따라서 자주 변경되는 값을 Context로 관리하는 것은 성능에 영향을 미칠 수 있습니다. 이 경우, `<a href='https://sangseek.com/sangseeks/useMemo/ko'>useMemo</a>`나 `<a href='https://sangseek.com/sangseeks/useReducer/ko'>useReducer</a>`와 같은 훅을 사용하여 최적화를 고려해야 합니다. - Context의 범위 : Context는 컴포넌트 트리 내에서만 유효하므로, 필요한 범위에 맞게 Provider를 설정해야 합니다. 이와 같이 `useContext` 훅을 사용하면 React 애플리케이션에서 전역 상태를 효과적으로 관리하고, 컴포넌트 간의 데이터 공유를 간편하게 할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기