온라인 강의/React 완벽 가이드 [Udemy]

134. 사용자 정의 컨텍스트 제공자 구성요소 빌드 및 사용

유호야 2023. 6. 14. 06:28
반응형

그리고 별도의 컨텍스트 관리 컴포넌트를 만들고 싶다고 해보자
더 많은 로직을 가져오고 싶다면

import React, { useState } from 'react';

const AuthContext = React.createContext({
  isLoggedIn: false,
  onLogout: () => { },
  onLogin: (email, password) => { }
});

export const AuthContextProvider = (props) => {
  const [isLoggedIn, setIsLoggedIn] = useState(false);
  const logoutHandler = () => {
    setIsLoggedIn(false);
  }
  const loginHandler = () => {
    setIsLoggedIn(true);
  }
  return <AuthContext.Provider
    value={{ isLoggedIn: isLoggedIn, onLogout: logoutHandler, onLogin: loginHandler }}
  >
    {props.children}
  </AuthContext.Provider>
}

export default AuthContext;

 

Login.js 일부

import Button from '../UI/Button/Button';
import AuthContext from '../store/auth-context';

const Login = () => {
  const authCtx = useContext(AuthContext);
}

 

아래와 같이 auth-context 만을 모두 담아서 사용할 수 있다

 

이해는 잘 되지만 사용하기 전에 한 번 더 사용법을 복습해봐야 할 것 같다

반응형