생활코딩+reducer
jwt를 내가 관리해야됨

쿠키 단점 = 브라우저 닫으면 사라짐
→ 자동 로그인 안됨
토큰을 쿠키로 관리X localStorage로 관리할거임
자동 로그인 안할거며 쿠키에 넣어도 됨
왜 local storage를 썼는지를 대답할 수 있어야 됨!



storage니까 io
디스크에 있는걸 꺼내서 던지는 거임
singlepageapplication이 아니므로 f5하지 않느 이상~?
권한 체크할때
내가 유저 1번인데
게시글 쓴 사람의 번호가 2인데
프론트에서 검사 가능함 - 상태관리중이면
spring에서 안해도 됨
토큰 안의 정보 decoding해서 내 세션안에서 상태관리하고 있으면 io 발생안하고 꺼내 쓸 수 잇음
전역 상태 관리가 필요한 이유
top level의
부모가 ProviderScope
div 태그 트리가..
모든 데이터는 부모로부터 전달됨
드리블링
외부에다 필요할때 바로 구독해서 가져오는
? 다 알고 있어야 하므로 부모로 감ㅆ아ㅑ 하는것

reducer를 만들어야 함
reducer는 pub (상태 변경)
sub(변경된 상태를 관찰하다가 변경되면 sub)
sub은 라이브러리가 자동으로 관리해주면
상태변경만 되면 sub가 됨
flutter : (watch-notifier)
- 초기 상태
- 초기 상태가 있어야 상태 관리를 하지
reducer를 직접 호출하면 상태는 변경되지만 그림이 다시 안그려짐
간접적으로 때려서 그림이 다시 ㄱ려져야 함
reducer의 상태를 바꿀 때에는 useDispatch를 써서 상태를 간접적으로 변경해야함
콜백으로
*변경됏을때 리렌더링 하려고!!!!
직접 호출하면 상태만 바뀌고 그림은 안바뀜
호출 + 관련된 모든 화면(구독하고 있는) 리렌더링


함수가 아니라 함수가 실행된 결과를 전달하는것
괄호가 있으면 바로 실행됨
1.초기상태
2.reducer
3.action
로그아웃시 상태만 관리X + local storage도 날려주기!
근데 store.js에서 하는건 ㅂㄹ SRP를 위배 (근데 SRP는 우리끼리의 규칙)

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

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

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

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


Share article