기능 구성 요소에서 컨텍스트 값에 액세스하기 위해 useContext
후크를 사용하려면 먼저 React.createContext()
사용하여 컨텍스트를 작성해야합니다. 사용 방법은 다음과 같습니다.
컨텍스트 가져 오기 : 생성 한 컨텍스트를 기능 구성 요소로 가져와야합니다. 예를 들어, ThemeContext
만든 경우 다음과 같이 가져옵니다.
<code class="javascript">import { ThemeContext } from './ThemeContext';</code>
USECONTEXT 후크 사용 : 기능 구성 요소 내에서 useContext
후크를 사용하여 컨텍스트를 구독합니다. useContext
후크는 현재 컨텍스트 값을 반환합니다. ThemeContext
의 경우 다음과 같습니다.
<code class="javascript">function MyComponent() { const theme = useContext(ThemeContext); // Use the theme value as needed in your component return <div style="{{" color: theme.color>Themed Component</div>; }</code>
useContext
에서 얻은 값은 구성 요소 내에서 사용할 수 있습니다. 위의 예에서 theme
객체는 구성 요소를 스타일링하는 데 사용됩니다. 이 단계를 수행하면 기능 구성 요소에서 useContext
효과적으로 사용하여 컨텍스트에서 제공하는 값에 액세스하고 사용할 수 있습니다.
기존 컨텍스트를 통해 useContext
사용하면 API가 특히 기능 구성 요소에서 몇 가지 이점을 제공합니다.
Consumer
구성 요소를 사용해야하며, 이는 번거롭고 장황 할 수 있습니다. useContext
훨씬 간단한 구문을 제공하여 코드를 더 깨끗하고 읽기 쉽게 만듭니다.useContext
사용하면 컴포넌트를 Consumer
로 감싸지 않고 기능 구성 요소 내에서 직접 컨텍스트 값에 쉽게 액세스 할 수 있습니다. 이로 인해 데이터가 더 명확하고 관리 가능합니다.useContext
후크이므로 useState
, useEffect
등과 같은 다른 후크와 잘 통합됩니다.이를 통해 동일한 구성 요소 내에서보다 유연한 상태 관리 및 부작용 처리가 가능합니다.useContext
여러 수준의 구성 요소 계층 구조를 낮추어야하는 소품 시추 문제를 피하는 데 도움이됩니다. 소품을 전달할 필요없이 모든 레벨에서 컨텍스트 값에 액세스 할 수 있습니다.useContext
사용하는 구성 요소 만 재 렌더링되며 컨텍스트 제공 업체의 전체 하위 트리가 재 렌더링 될 수있는 기존 방법에 비해 더 효율적일 수 있습니다. React Applications에서 useContext
사용하여 컨텍스트를 작성하고 제공하려면 다음을 수행하십시오.
컨텍스트 작성 : 먼저 React.createContext()
사용하여 컨텍스트를 만듭니다. 원하는 경우 기본값을 제공 할 수 있습니다.
<code class="javascript">const ThemeContext = React.createContext('light');</code>
컨텍스트 제공 업체 생성 : 컨텍스트 제공 업체로 응용 프로그램 또는 하위 트리를 래핑하십시오. 제공자는 컨텍스트를 자식 구성 요소에 사용할 수 있도록합니다.
<code class="javascript">function App() { const [theme, setTheme] = useState('light'); return ( <themecontext.provider value="{{" theme settheme> <toolbar></toolbar> </themecontext.provider> ); }</code>
컨텍스트 소비 : 공급자 내의 기능 구성 요소에서 useContext
후크를 사용하여 컨텍스트 값에 액세스 할 수 있습니다.
<code class="javascript">function ThemedButton() { const { theme, setTheme } = useContext(ThemeContext); return ( <button onclick="{()"> setTheme(theme === 'light' ? 'dark' : 'light')} style={{ backgroundColor: theme === 'light' ? '#ffffff' : '#000000', color: theme === 'light' ? '#000000' : '#ffffff' }} > Toggle Theme </button> ); }</code>
이 단계를 수행하면 컨텍스트를 작성하고 제공자의 범위 내의 구성 요소에 값을 사용할 수 있습니다.
useContext
사용할 때 개발자가 저지르는 일반적인 실수는 React 구성 요소 또는 후크 외부의 컨텍스트 값에 액세스하려고합니다. useContext
기능 구성 요소의 최상위 레벨 또는 사용자 정의 후크 내에서만 호출 할 수 있습니다.
잘못된 사용의 예 :
<code class="javascript">const theme = useContext(ThemeContext); // This is incorrect if not inside a component or custom hook function MyComponent() { return <div style="{{" color: theme.color>Incorrect Usage</div>; }</code>
피하는 방법 :
이 실수를 피하려면 항상 기능 구성 요소의 본문 내에서 또는 사용자 정의 후크 내에서 useContext
사용하고 있는지 확인하십시오. 사용하는 올바른 방법은 다음과 같습니다.
<code class="javascript">function MyComponent() { const theme = useContext(ThemeContext); // Correct usage return <div style="{{" color: theme.color>Correct Usage</div>; }</code>
이 규칙에 따라 useContext
React의 후크 규칙 내에서 적절하게 사용되어 런타임 오류를 방지하고 코드가 의도 한대로 작동하는지 확인하십시오.
위 내용은 UseContext 후크를 사용하여 기능 구성 요소의 컨텍스트 값에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!