useContext
자식 컴포넌트에서 부모 컴포넌트에서 전달된 컨텍스트 데이터사용시 Consumer 컴포넌트를 사용하지 않고 쓸수 있다.
훅 없이 컨텍스트 데이터 받기
- 부모컴포넌트 
import React, { createContext } from 'react';
import Child from './Child';
export const UserContext = createContext();
const user = { name: 'A', age: 20 };
function App() {
  return (
    <div className="App">
      <UserContext.Provider value={user}>
        <Child />
      </UserContext.Provider>
    </div>
  );
}
export default App;
- 자식컴포넌트 Consumer 컴포넌트를 사용해야한다. 1번영역에서 컨텍스트 데이터를 쓸 수 없다. 
const Child = () => {
//1
  return (
    <div>
      <UserContext.Consumer>
        {(user) => {
          console.log(user);
        }}
      </UserContext.Consumer>
    </div>
  );
};
export default Child;
useContext 훅으로 컨텍스트 데이터 받기
import React, { useContext } from 'react';
import { UserContext } from './App';
const Child = () => {
//1
  const user = useContext(UserContext);
  return (
    <div>
      {user.name}
      {user.age}
    </div>
  );
};
export default Child;
1번영역에서 컨텍스트 데이터 사용가능
Last updated
Was this helpful?