inblog logo
|
jay0628
    React

    [React] 9. 블로그 만들기 (3) - 로그인

    김주희's avatar
    김주희
    Aug 25, 2025
    [React] 9. 블로그 만들기 (3) - 로그인
    ❗
    생활코딩+reducer
    jwt를 내가 관리해야됨
    notion image
     
    쿠키 단점 = 브라우저 닫으면 사라짐
    → 자동 로그인 안됨
     
    토큰을 쿠키로 관리X localStorage로 관리할거임
    자동 로그인 안할거며 쿠키에 넣어도 됨
     
    왜 local storage를 썼는지를 대답할 수 있어야 됨!
    notion image
     

     
    notion image
     
    notion image
     
    storage니까 io
    디스크에 있는걸 꺼내서 던지는 거임
    singlepageapplication이 아니므로 f5하지 않느 이상~?
     
    권한 체크할때
    내가 유저 1번인데
    게시글 쓴 사람의 번호가 2인데
    프론트에서 검사 가능함 - 상태관리중이면
    spring에서 안해도 됨
     
    토큰 안의 정보 decoding해서 내 세션안에서 상태관리하고 있으면 io 발생안하고 꺼내 쓸 수 잇음
     
     
     
     

    전역 상태 관리가 필요한 이유

     
     

    top level의
    부모가 ProviderScope
     
    div 태그 트리가..
     
    모든 데이터는 부모로부터 전달됨
    드리블링
    외부에다 필요할때 바로 구독해서 가져오는
    ? 다 알고 있어야 하므로 부모로 감ㅆ아ㅑ 하는것
    notion image
     
     

    reducer를 만들어야 함

    reducer는 pub (상태 변경)
    sub(변경된 상태를 관찰하다가 변경되면 sub)
    sub은 라이브러리가 자동으로 관리해주면
    상태변경만 되면 sub가 됨
    flutter : (watch-notifier)
     
    1. 초기 상태
      1. 초기 상태가 있어야 상태 관리를 하지
       
       

      reducer를 직접 호출하면 상태는 변경되지만 그림이 다시 안그려짐
      간접적으로 때려서 그림이 다시 ㄱ려져야 함
      reducer의 상태를 바꿀 때에는 useDispatch를 써서 상태를 간접적으로 변경해야함
      콜백으로
      *변경됏을때 리렌더링 하려고!!!!
      직접 호출하면 상태만 바뀌고 그림은 안바뀜
       
       
      호출 + 관련된 모든 화면(구독하고 있는) 리렌더링
      notion image
       
      notion image
      함수가 아니라 함수가 실행된 결과를 전달하는것
      괄호가 있으면 바로 실행됨
       
       
       
      1.초기상태
      2.reducer
      3.action
       

      로그아웃시 상태만 관리X + local storage도 날려주기!
      근데 store.js에서 하는건 ㅂㄹ SRP를 위배 (근데 SRP는 우리끼리의 규칙)
       
       

      notion image
       
      이렇게 하면 local storage에 있는 토큰을 못 날리니까
      notion image
       

      디스크가 하는일
      cpu는 기다리지 않고 logout될 수 있으므로
      기다렸다가 내려가야 됨
      notion image
       

      로그인 하면 상태로 관리되는 user 통신으로 넘김
      response 받으면 jwt 꺼내서 디바이스에 저장함
      (자동 로그인 안할거면 상태로만 관리해도 됨)
      dispatch(login(jwt)); → 전역 상태 변경 → 화면이 리렌더링 됨
      Home 페이지로 이동하면서 헤더에 로그인, 회원가입은 안보여야 됨
       

      localStorage에서 땡기지마 자동로그인 안할건데 굳이?
      → 상태 관리로 가져와
       

      전역 관리를 위해 필요
      notion image
       
       

      reducer가 최초에 만들어져야 하거든(configuerStore에 꼽힐때)
      그래서 default가 필요
      notion image
       
       

      notion image
      Share article

      jay0628

      RSS·Powered by Inblog