React useContext로 상태 관리하기
useContext
후크를 사용하여 전역 상태 변수를 생성하는 방법을 설명하는 짧은 게시물입니다. 따라서 소품을 다른 구성 요소에 쉽게 전달하고 "소품 드릴링"을 피할 수 있습니다.컨텍스트 파일 설정
createContext
를 사용하여 컨텍스트 구성 요소를 만듭니다.import {createContext, useState} from 'react'
export const LoginContext = createContext({});
Context.Provider로 구성 요소 래핑
LoginContext
내의 모든 구성 요소를 래핑합니다. 모든 구성 요소는 LoginContext 소품에 액세스할 수 있습니다. {{double curly braces}}
를 사용하여 전달됩니다.import {LoginContext} from './Context'
export function App() {
const [loggedIn, setLoggedIn] = useState(false)
return(
<LoginContext.Provider value={{loggedIn, setLoggedIn}}>
<Home />
<Login />
<Profile />
</LoginContext.Provider>
)
}
구성 요소에 소품 전달
loggedIn
및 setLoggedIn
를 Login
구성 요소useContext
를 통해 LoginContext에서 소품에 액세스할 수 있습니다.{curly braces}
대신 [square brackets]
를 사용합니다.import {LoginContext} from '../Context';
import React, {useContext} from 'react';
export const Login = () => {
const {loggedIn, setLoggedIn} = useContext(LoginContext);
return (
<div>
<button onClick={() => setLoggedIn(!loggedIn)}>Click
here to login
</button>
{loggedIn? <h1>You are logged in</h1>: <h1>You are
not logged in</h1>}
</div>
)
}
Reference
이 문제에 관하여(React useContext로 상태 관리하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/francisldn/managing-state-with-react-usecontext-346k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)