더북(TheBook)

24.3.2.2 로그인 상태 유지하기

로그인 상태를 유지하기 위해 브라우저에 내장되어 있는 localStorage를 사용하겠습니다.

LoginForm과 RegisterForm을 다음과 같이 수정해 주세요.

containers/auth/LoginForm.js

import React, { useEffect, useState } from 'react';
import { useSelector, useDispatch } from 'react-redux';
import { withRouter } from 'react-router-dom';
import { changeField, initializeForm, login } from '../../modules/auth';
import AuthForm from '../../components/auth/AuthForm';
import { check } from '../../modules/user';

const LoginForm = ({ history }) => {
(...)

  useEffect(() => {
    if (user) {
      history.push('/');
      try {
        localStorage.setItem('user', JSON.stringify(user));
      } catch (e) {
        console.log('localStorage is not working');
      }
    }
  }, [history, user]);

  return (...);
};

export default withRouter(LoginForm);

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.