Skip to content

mookbin/lv2_todolist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

todos.js

  • ADD_TODO, REMOVE_TODO, COMPLETE_TODO와 같은 액션 타입을 정의했다.

  • 위 액션 타입들을 사용해서 각 액션에 해당하는 액션 생성자 함수를 만든다.

  • 액션 생성자 함수를 사용하여 해당 액션의 정보를 전달하고, 리듀서에서 액션 타입에 맞는 동작을 수행할 수 있다.

  • 초기 상태인 initialState를 정의하고, todos 리듀서에서 해당 상태를 변경하는 로직을 작성했다.

  • 리듀서는 state와 action을 받아서, action.type에 따라서 state를 변경하고, 변경된 상태를 반환한다.

  • ADD_TODO 액션 : 현재 상태의 배열에 새로운 할 일을 추가하는 것으로, 스프레드 연산자를 사용하여 현재 상태 배열과 새로운 할 일(payload)을 합쳐서 새로운 배열을 반환한다.

  • REMOVE_TODO 액션 : 현재 상태 배열에서 지우고자 하는 할 일의 id와 일치하지 않는 요소들만 필터링하여 새로운 배열을 반환한다.

  • COMPLETE_TODO 액션: 현재 상태 배열을 순회하며 지정된 할 일의 id를 찾아서, 해당 할 일의 isDone 값을 toggle한다. 그렇게 하기 위해서 map 함수를 사용하여 배열을 순회하고, 지정된 id와 일치하는 경우 해당 할 일의 isDone 값을 반전시키고, 그렇지 않은 경우 원래 요소를 반환한다.

Releases

No releases published

Packages

No packages published