⭐Next.js 렌더링 원리 : Dififing / hydration
⭐Closure / HOC / HOF / withAuth
- 로그인 데이터를 브라우저 내에 저장할 수 있는 3대 저장소들
1. Cookie: 영구 저장이 가능하며 만료시간을 정할 수 있다. => refreshToken을 저장할 수 있으며 보안을 강화 할 수 있는 옵션들이 존재하며 accessToken을 재발급 받을 수 있다.
2. localStorage: 영구 저장, 브라우저를 종료해도 저장 되어있다.=> 보안이 그렇게 좋은 편이 아니라 이 곳에 저장하는 건 좋은 방법은 아니다. ==> refreshToken으로 개선 가능
3. sessionStorage: 브라우저 종료시 사라진다.
1. Pre-rendering: FE(프론트엔드) 서버에서 브라우저에 보내기 전에 코드를 미리 렌더링을 한다.
2. Diffing: FE 서버에서 그린 데이터(Pre-rendering)와 브라우저에서 데이터를 그려낸 것과 비교한다.
3. Hydration: Diffing을 한 후에 차이점이 있을 수도 있고 없을 수도 있는데 비교한 데이터를(결과물) 최종적으로 반영해준다. => 여기에서 문제점이 발생하는데 wed-editor에서 다룰 수 있다.

1.FE서버 자체엔 localStorage가 없기때문에 오류가 발생 할 수 있다.(브라우저엔 localStorage가 있음)
2.FE서버내에서 localStorage 인식을 못하는 오류를 해결해주기 위해선 위코드(☝)처럼 작성해주면 됨!
- 토큰을 로컬스토리지에 저장하고 새로고침 했을 경우 다시 그 토큰을 꺼내와 로그인을 유지시켜준다.
- useEffect는 브라우저에서 마운트 됐을 때만 1번 실행되기 때문에 자주 쓰이는 좋은 방법이다.
- Redirect: 로그인한 유저만 접속이 가능한 페이지를 비로그인 사용자가 접속했을 경우 로그인 페이지로 되돌려주는 것
1. Closure
1) 브라우저 내에서 closure가 어떻게 작동하는지 보자~(F12)



- bbb() 함수안에 변수로 지정된 apple이 없기 때문에 외부 함수에서 apple을 찾게 된다.
- Closure: 내부 함수(Local)에서 바깥에 있는 외부 함수의 변수를 참조 할 수 있다. => apple: 10
- Closure를 통해서 찾는 데이터가 없으면 Global에서 찾는다.
- call stack: 함수들이 순차적으로 들어와 타워처럼 차곡차곡 쌓이는 것
2. HOC





🤷♀️위의 함수식을 화살표 함수식으로 바꾸면❓

💥 좀더 공부해서 부연 설명 첨부할것

💥 좀더 공부해서 부연 설명 첨부할것

💥주의할점

3. HOF
1) id가 중복돼서 오작동 되는 것을 방지 시켜주기 위해 쓰는 방식(대규모 웹 서비스 플랫폼)
| 배열(array) (0) | 2022.03.26 |
|---|---|
| 아규먼트(Argument)와 파라미터(Parameter)의 차이점 (0) | 2022.03.26 |
| [TIL] 로그인의 역사 // 220214 (0) | 2022.02.15 |