2019-12-03 TIL

React

  • ReDirect

Redux

  • 애플리케이션의 상태를 바꾸려면 항상 액션을 보내야만 한다. 이것이 상태를 바꿀 수 있는 유일한 방법이다. 뷰에서 액션을 요청하면 액션 생성자가 포맷을 변경하여 돌려주고 이 액션을 통해 상태를 바꾸게 된다.

    export const INCREMENT = "INCREMENT";
    export const DECREMENT = "DECREMENT";
    export const SET_COLOR = "SET_COLOR";
  • Redux에서는 단 하나의 Store 가 상태 트리 전체를 유지하는 책임을 진다. 어떤 액션이 들어왔을 때 필요한 상태 변화에 대한 일을 Reducers 에게 위임한다. Store 에 Reducers 를 지정해주기 위해 루트 컴포넌트에서 createStore() 함수를 이용한다.

Javascript

local storage

  • 글 작성 중간 중간에 잃어버리지 않기 위한 임시 저장용도
  • 장바구니나 좋아하는 콘텐츠 등 수시로 변경되는 경우
  • 방문자의 이동 경로를 저장하였다가 이동할 경우
  • 그 외 서버에 반드시 저장할 필요가 없는 경우
  • local storage는 문자열밖에 저장하지 못하기 떄문에 JSON.stringify를 사용하여 JSON을 문자열로 바꿔줘야한다
localStorage.setItem(
      "userInfo",
      JSON.stringify({
        id: id,
        username: username,
      })

session storage

  • 세션이 종료되면 저장된 데이터도 함께 사라짐

일일 목표

  • 로그인기능 구현 (전체 페이지에 로그인 상태 입히기)
  • 회원가입 기능 구현 (회원가입 되면 바로 로그인 가능)
  • 마이페이지 (내 정보 출력 /구매페이지/ 장바구니페이지)

결과

로그인기능까지 구현 but 로그인 완료 후 로그인버튼이 로그아웃버튼으로 변경되지 않음

5FS

Facts: 목표치의 30%도 하지못함. 컨디션 최악.

Feelings: 목표치를 채우지 못한 이유는 컨디션이 좋지않아서 인가? 공부량이 부족해서 인가?

Findings: 로그인기능 오류가 프로그램을 진행하는데에 크게 지장을 주지 않는걸 알면서도 끙끙거리면서 붙잡고 있었다. Skip하고 진행했으면 목표치의 60%까진 완성했을 것 이다.

Future Action Plan: 닥친 상황을 감정적으로 보지말고 이성적으로 보자. 취미로 하는 개발이 아니니까..

Feedback:


Park Answer

Find answer in the record