Todolist_처음부터 끝까지 만들기!

박다영·2022년 12월 10일
0

project

목록 보기
18/70
  1. 새로운 파일을 하나 생성해보자! (yarn 이 깔려있다는 전제 하에!)
    터미널 > yarn create react-app [파일명]

  1. App.js ) 먼저 큰 구조를 그려본다. (header / main / footer)

  1. App.js ) 기본 elements 를 만들어준다.

  1. App.js ) 맨 먼저 투두리스트와 투두의 state를 변경할 수 있는 함수를 선언한다.
    useState 안에 투두리스트의 기본값을 initialState 라는 객체배열형태로 선언해 가져온다.

  1. App.js ) 미완료 투두리스트 섹션 안에
    투두리스트를 filter 로 돌려서 isDone 이 false 인 것을 고르고,
    이걸 또 map으로 돌려서 todos 요소를 넣고자하는 골격 안에 { } 로 배정해주는 함수를 넣는다.
    (완료 투두리스트 섹션 안에도 같은 로직을 반복해준다.)

  1. App.js ) uuid를 설치하고 불러와준다.
    id 값을 순서대로 배정하면, 나중에 삭제, 수정 등을 할 때 id 값이 꼬일 수 있어
    unique 한 id 값을 배정해주어야 하기 때문이다.
    터미널에 아래 중 한개를 골라 입력해주면 설치된다.
    yarn add uuid
    npm install uuid

  1. id 값 받아오기

  1. input form 태그 내에서 투두리스트를 onSubmit 할 때 실행되는
    handleSubmitClick 이라는 함수를 선언하고
    기본으로 새로고침되는 것을 막기위해 e.preventDefault() 처리해준다.

  1. 새로운 투두리스트를 만들기 위해서는
    제출하는 시점에 input 창에 적힌 title 과 content 를 가져와야 한다.
    때문에 input 창의 value 값이 변할 때마다에 내부의 value 값을 갱신해줘야 한다.
    그래서 title 과 content 각각의 state 값을 관리해주는 useState 를 만들고,
    input 창의 속성에 value 값으로 이 갱신된 value 값을 넣어준다.

  1. handleSubmitClick 함수 내부에
    title 과 contents 를 가져와서 새로운 투두추가를 해주는 함수를 만들어준다.
    react 는 setState 를 사용해야만 값을 변경할 수 있기 때문에,
    먼저 새로운 투두리스트를 만들어주고,
    기존 투두에 새로운 투두를 붙여준다.
profile
개발과 디자인 두마리 토끼를!

0개의 댓글