Koras02
Koras02코딩웹
Koras02
전체 방문자
오늘
어제
  • 분류 전체보기 (299)
    • 백엔드 (59)
      • nestjs (2)
      • Ruby (3)
      • PostgresQL (11)
      • MySQL (5)
      • Haskell (7)
      • Koa (3)
      • Java (3)
      • Python (5)
      • Rust (5)
      • MongoDB (2)
      • PHP (3)
      • Spring Boot (1)
      • redis (5)
      • deno (2)
    • 웹서버 (3)
      • nginx (1)
      • Apache (2)
      • Google Web Server (0)
    • 모바일개발 (5)
      • Figma (0)
      • React Native (2)
      • swift (0)
      • Flutter (3)
      • Kotlin (0)
    • 프론트 엔드 (158)
      • HTML (34)
      • CSS (7)
      • Javascript (35)
      • Angular (0)
      • Typescript (2)
      • React (58)
      • Vue (2)
      • GIT (6)
      • GraphQL (1)
      • Doker (4)
      • Go (8)
      • svelte (1)
      • gatsby (0)
    • etc. (47)
      • Notion (0)
      • TIL (24)
      • Algorithm (17)
      • Algorithm 개념 정리 (2)
      • Wiki (3)
      • Official document (1)
    • 웹개념 (12)
    • 변수정리 (1)
    • VSCode (2)
    • 포트폴리오 분석 (2)
      • React (2)
    • os (5)
      • 윈도우 (4)
      • Mac (0)
      • 가상머신 (0)
      • linux (1)
    • 응용프로그램언어 (2)
      • C (2)
      • C++ (0)
      • C# (0)
    • 블로그 운영관련 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
글쓰기

공지사항

  • [공지사항] 개발 이슈나 공식문서 업데이트 업로드 예정입니⋯

인기 글

태그

  • 알고리즘
  • 하스켈
  • Flutter
  • redis
  • html5
  • PostgreSQL
  • javascript
  • Til
  • koa
  • Java
  • Haskell
  • 프로그래머스
  • CSS
  • html
  • mysql
  • 문자열
  • React
  • 데이터 타입
  • Rust
  • go

티스토리

최근 댓글

최근 글

250x250
hELLO · Designed By 정상우.
Koras02

Koras02코딩웹

[TIL] 2022년 02월 15일 - withAuth와 SessionStorage / Cookie
etc./TIL

[TIL] 2022년 02월 15일 - withAuth와 SessionStorage / Cookie

2022. 2. 15. 16:08
728x90

이번시간에는 로그인을 구현할떄 기록하는 Stoarge / Cokie의 관해서 배웠다.

 

쿠키란?

인터넷에 사용자가 어떤한 웹사이트를 방문한다면 그 사이트가 사용하는 서버를 통해 인터넷 사용자의 컴퓨터에 

설치되는 작은 기록 정보 파일을 말한다.

 

이전에 배운 refeshToken도 쿠키쪽에 저장해주는 방식이다.

localStorage는 영구 저장 브라우저를 종료해도 살아있다.

 

sessionStorage는 브라우저가 종료되는 즉시 사라진다.

 

프론트엔드는 화면을 미리 그려보고 브라우저로 보내주는데 그냥 그대로 보내주는 것이 아닌 프론트와 브라우저에서

그려준 것을 비교 diffing을 한 다음 최종적으로 반영해주는 하이드레이션이라 부른다.

 

그래서 localStorage에서 정의되지 않았다고 나온다.

 

HOC

HOC란 리액트 컴포넌트를 Argument로 받아 새로운 리액트 컴포넌트를 리턴해주는 함수이다.

// Aaa가 실행되고 bbb가 실행
export default function Aaa() {
  return <>{Bbb({qqq: "철수"})}</>;
}

export default function Bbb(props) {
  return <div>이름은 {props.qqq}입니다 </div>
}

만약 Aaa라는 function에 BBB를 넣어주고 qqq에 철수를 넣고 Bbb에 props로 넣어준다면 실행될때는 Aaa가 먼저 

실행되고 Bbb가 그 다음에 실행되는 방식이다.

 

export default function Hoc(Component) {
  return function (props) {
   return <Component {..props} />;
}
}

HOC를 사용하는 방법은 Component를 인자로 받아 function에 props로 Component에 넘겨주는 것이다.

export default HOC(component) {
}

const Hoc = (Component) => (props) => {
   
// 쓰기 
  return <Component {...props} />

export default Hoc
}

Hoc 컴포넌트에 인자로 받고 props로 컴포넌트안에 props를 쓰면 된다.

        <GlobalContext.Provider value={value}>
            <ApolloProvider client={client}>
                <Global styles={globalStyles} />
                {/* <Layout> */}
                <Component {...pageProps} />
                {/* login sucessapge 먼저실행하고 실행됨 */}
                <>{withAuth(LoginSucessPage)({ ...pageProps })}</>
                {/* </Layout> */}
            </ApolloProvider>
        </GlobalContext.Provider>

App.tsx에서 withAuth를 사용해 로그인시 넘어가게 해주는 withAuth를 만들어준다. 

그렇다면 로그인 완료시 페이지가 보이게 된다

.

'etc. > TIL' 카테고리의 다른 글

[TIL] 2022년 02월 16일 - 로그인 Validataion  (0) 2022.02.16
[TIL] 2022년 02월 14일 - 로그인의 역사  (0) 2022.02.14
[TIL] 2022년 02월 11 - Global-State  (0) 2022.02.12
    'etc./TIL' 카테고리의 다른 글
    • [TIL] 2022년 02월 17일 - refecth 보다 더 좋은 것
    • [TIL] 2022년 02월 16일 - 로그인 Validataion
    • [TIL] 2022년 02월 14일 - 로그인의 역사
    • [TIL] 2022년 02월 11 - Global-State
    Koras02
    Koras02
    현재 사용중인 언어 - next-js,react,vue, typescript

    티스토리툴바