
기능구현은 완료해두었는데 코드리뷰를 받고 미쳐 신경쓰지 못한부분을 캐치하게 되었다. mutable array 와 immutable array 부분이다. 기존에 모두 삭제하는 기능을 splice() 함수를 사용해서 만들어두었는데 이 함수는 mutable 함수다. 그리하여 이 부분을 setState([]) 빈배열만으로 결과값을 가져오게 되었다.
위와 같은 맥락으로 item별로 삭제하는 기능 또한 splice() 함수를 사용해서 구현했었다. 이를 filter()을 사용해서 새로운 배열을 만들어내어 immutable한 구조로 수정했다.
제일 난감했던 부분은 제일 쉬울것 같은 toggle 기능이었다. array 안에 isCompleted를 어떻게 새로운 배열로 클릭한 객체만 수정해서 배열로 넘길수 있을까.. 고민을 했다. 결과적으로 map()에 조건문을 사용해서 immutable한 배열을 만들어냈다.
event delegate 개념에 대해서 보다 정확하게 이해할수있었다.
잘하는 사람들의 코드를 보면 닮고싶다 ㅎㅎ 비록 그 사람은 .. 아.. 망코드네 라고 생각하더라도 어떻게 생각하는지 코드에 습관이 묻어있기 때문에 나 또한 그런 프로들의 습관을 하나씩 닮아가고싶다.