[TIL - LV2. 과제 끝!]

..·2023년 4월 21일
0

TIL

목록 보기
14/22
post-thumbnail

레벨 2 과제 끝!

Redux와 Router을 활용해서 LV.1에서 만든 Todolist 다시 만들어보기!

TodoList-Vercel, Github

고유 ID를 적용시키는 과정에서

  1. 레벨 1과제에 적용한 length를 사용한 방법으로 id를 설정하면 나중에 메모리 상에 추가되었다가 삭제가 되었을 경우 id가 고유하게 유지되지 않고 겹칠 가능성이 있기 때문에 새로운 방법을 찾아 적용하라는 요구사항이 있었다.

  2. 그래서 Math.max로 최댓값을 구해 거기에 1을 더하는 방식으로 하려고 했다. 하지만 initial state가 존재하지 않으면 max값을 찾을 수가 없어 원래 있던 초깃값들을 지우고 추가를 한 뒤 상세페이지에 들어가면 오류가 났다. 그리고 이 방식도 이미 삭제된 아이디 값과 겹칠 수 있다.

  3. 그래서 다음으로 찾은 건 uuid인데, 쉽고 편하긴 한데 todolist에 쓰기에는굉장히 긴 아이디값이 나와서 가독성이 안좋고 오버스러운 느낌? 이 들었다..

  4. 그러다가 페어분과의 상의로 Date.now()를 사용하게 되었는데 밀리초 단위여도 같은시간에 리스트가 여러 개 등록되면 아이디가 겹칠 수 있기 때문에 Date.now() 에 Math.floor(Math.random()*100)으로 난수를 생성해서 더해주는 방식으로 아이디값을 정해주게 되었다.

작동에는 문제가 없지만 이렇게 하는 것이 타당한 방법인지 그리고 현업에서는 어떤 방식을 주로 사용하는지 궁금하다.

0개의 댓글