• UserPanel.js

    //import 부분
    import { useSelector } from "react-redux";
    import { auth } from '../../../firebase';
    
    //user cureentUser 부분
    const user = useSelector(state=>state.user.currentUser);
    
    //로그아웃 버튼 클릭 시에 동작할 버튼
    const handleLogout = () => {
     auth.signOut();
    }
    
  • types

    export const CLEAR_USER = "clear_user";
    
  • user_action

    import {
        SET_USER,
        CLEAR_USER
    }from './types'
    
    export function setUser(user){
        return {
            type: SET_USER,
            payload: user
        }
    }
    
    export function clearUser(){
        return {
            type: CLEAR_USER,
        }
    }
    
  • app.js

    → clearUser 로 현재 user 값 삭제

  • user_reducer.js

    import { SET_USER, CLEAR_USER } from "../actions/types";
    
    const initialUserState = {
      currentUser: null,
      isLoading: true,
    };
    
    export default function (state = initialUserState, action) {
      switch (action.type) {
        case SET_USER:
          return {
            ...state,
            currentUser: action.payload,
            isLoading: false,
          };
        case CLEAR_USER:
          return {
            ...state,
            currentUser: null,
            isLoading: false,
          };
    
        default:
          return state;
      }
    }