codingPpushu's dev story

Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.

0%

What?

Vue-project
UI 애니메이션 상품 정렬 기능 reference data type Lifecycle
  • UI 애니메이션
    • CSS
    • Vue 제공
  • 상품 정렬 기능
    • 낮은가격순, 높은가격순, 상품명순, 되돌리기 기능 구현
  • reference data type
    • array, object 자료형 => 값 공유가 일어나지 않게 복사한다.
      • spread operator 사용
  • Lifecycle
    • create
    • mount
    • 컴포넌트 생성
    • update
    • unmount
    • Life Hook을 걸어서 중간에 원하는 코드를 실행 가능

What?

Vue project
custom event $event v-model watcher()
  • custom event
    • 자식이 부모 데이터를 바꿀때 사용
    • props로 전한 데이터 수정 X
    • $emit(‘name’, data)
    • @name = “데이터변경JS”
  • $event
    • event object를 뜻함
  • v-model
    • 입력된 값을 data로 바로 저장
  • watcher
    • 데이터 감시 함수
    • watch : { 감시데이터(){} }

What?

Vue project
props
  • props
    • 자식이 부모 데이터를 쓰려면 사용
    • 순서
      • 데이터를 보내고, 등록하고, 쓰면 된다.
    • 데이터는 최상위 컴포넌트에다가 만들어놔야한다.
    • 주의 : 만들기 전에 생각하고 만들기

What?

Vue project
개발환경 셋팅 vue data binding v-for vue event handler
export default / import export
  • 완료
    • react project 온라인 강의
  • 진행중
    • JavaScript/jQuery - 문법 복습
      • array ~ ajax 까지 완료
    • vue
      • vue data binding
        • 하드코딩 해놓으면 나중에 수정 어려움
        • html 속성도 가능
      • v-for
        • 자료 갯수만큼 반복
        • :key 속성은 꼭 넣어주자
      • 실제 데이터를 넣어 상품목록 구현

What?

React Project - Shop
sync / async lazy loading React devtools memo
PWA localStorage
  • sync / async
    • 동기/비동식 방식
  • lazy loading
    • 초기 접속 속도를 위해 import
  • React Dev Tools
    • 크롬 확장 프로그램
    • 성능 최적화 할때 사용
    • props, state 등등 확인 가능
  • memo
    • 쓸데없는 재렌더링 막기
  • PWA (Progressive Web App)
    • 안드로이드/iOS 모바일 앱처럼 사용할 수 있게 만드는 웹개발 기술
  • localStorage
    • 브라우저에 몰래 정보를 저장하고 싶을 때 사용

What?

  • JavaScript/jQuery - 문법 복습 진행
    • 존재 목적 ~ 이벤트 버블링, 함수까지 완료

What?

React Project - Shop
reducer/dispatch <컴포넌트> findIndex() react-if문 패턴
  • reducer/dispatch
    • redux store로 전달할 데이터를 작성할 수 있다.
    • 미리보기 띄울 때 페이지를 이동하면 초기화 됨
      • 나중에 사이트 발행하면 제대로 동작
  • <컴포넌트> 는 onClick 속성을 달아도 동작하지 않을 수 있음
  • findIndex()
    • 특정 값이 array 안에 있는지 찾고 싶을 때 사용
  • 리액트에서 자주 사용하는 if문 패턴
    • 컴포넌트 안에서 쓰는 if/else
    • JSX안에서 쓰는 삼항연산자
    • && 연산자로 if 역할 대신하기
    • switch / case 조건문
    • object 자료형을 응용한 enum

What?

React Project - Shop
reducer/dispatch
  • reducer/dispatch 데이터 수정
    • state 데이터의 수정방법을 미리 정의한다.
    • 데이터의 수정방법을 불러서 수정한다.
    • HTML 안에서 dispatch()를 사용해 reducer()를 동작시킬 수 있다.
  • reducer/dispatch 하나 더 만들기
    • state 초기값과 reducer 를 만들고, combineReducers()를 redux에서 import해오고 모든 reducer를 object 형식으로 담는다.
  • 사용 이유
    • 상태관리가 용이함
  • 주의할 점
    • state 데이터를 다른 컴포넌트에서 쓸 일이 없다면 간단하게 useState()로 해당 컴포넌트 안에 간단하게 만든다.

What?

React Project - Shop
Ajax component 중첩시 state 전달 state 조작법 Context API
react-transition-group
  • 리액트에서의 Ajax
    • 서버에 새로고침없이 요청 할 수 있게 도와주는 코드
      • axios 라이브러리 설치
      • 더보기 버튼 구현 (클릭시 상품 데이터 가져온 후 메인페이지 하단에 추가)
  • component 중첩시 state 전달
    • component1 => component2 => component3 (props 문법을 두 번 써주면 됨)
  • state 조작법
    • 사본을 만든다.
    • 사본을 변경한다.
    • 사본을 변경 함수에 넣는다.
  • Context API
    • props 연속 사용이 싫다면 사용
  • react-transition-group
    • 컴포넌트 등장/업데이트시 transition 쉽게 줄 수 있음

What?

React Project - Shop
Lifecycle Hook useEffect Hook setTimeout()/clearTimeout()
  • Lifecycle Hook
    • Lifecycle : 컴포넌트는 어떻게 살다 죽는가
      • 생성 될 수 있고
      • 삭제 될 수 있고
      • 관련 state가 변경되면 재렌더링(업데이트)이 일어날 수 있다.
    • Hook : 컴포넌트 중간 Hook을 걸 수 있다. (참견)
  • useEffect Hook
    • function 컴포넌트에서 사용하는 Hook
    • 요즘 많이 사용 (약간 더 짧고 쉽기 때문)
    • 실행조건
      • mount 끝났을 때
      • update 되고난 후에
    • useEffect()는 컴포넌트 등장과 업데이트가 되고나서 항상 실행됨
  • setTimeout()
    • 사용후 꼭 해제해야됨 => clearTimeout()