pigrok / LV2_TodoList

https://lv-2-todo-list.vercel.app
0 stars 0 forks source link

리액트 LV2 프로젝트 피드백 - 예병수 튜터 #5

Open DevelopSoo opened 1 year ago

DevelopSoo commented 1 year ago

LV2 피드백

DevelopSoo commented 1 year ago

https://github.com/pigrok/LV2_TodoList/blob/2424787aef62ed63641377d9195e0ace7e95f4b8/src/shared/Router.js#L16

URL 주소에 불필요하게 많은 정보들이 들어가 있는 것 같습니다. 사실 id만 넣고 해당 id로 데이터를 다시 가져오면 오히려 깔끔했을 것 같습니다. 만약 게시글의 내용이 100줄이 넘을 정도로 아주 길다고 가정해봅시다. 이는 URL을 너무 길게 만들어서 문제가 될 것 같습니다. id를 이용하여 리덕스에서 투두의 정보 하나를 가져올 수 있기 때문에, 사실은 id만 있어도 충분합니다.

DevelopSoo commented 1 year ago

https://github.com/pigrok/LV2_TodoList/blob/2424787aef62ed63641377d9195e0ace7e95f4b8/src/pages/Home.jsx#L8-L26

useState는 현재 사용하지 않습니다. 하지만 여전히 선언되어 있고, props를 내려주고 있습니다. 현재는 redux를 사용하고 있으므로 불필요한 useState는 삭제하면 좋을 것 같습니다.

DevelopSoo commented 1 year ago
image

커밋 메세지는 좀 더 명확하게 작성해주세요. 현재 커밋 메세지로는 어떤 기능을 개발했는지 알 수 없습니다.

DevelopSoo commented 1 year ago
image

브랜치 역시 기능별로 명확한 이름을 짓는 것이 좋습니다. 각 브랜치명을 보고 어떤 기능을 개발했는지 모르면 나중에 해당 브랜치로 이동할 때 매우 헷갈립니다.

예를 들면 화면에 리스트로 보여주는 부분을 개발하려면 다음과 같이 만들 수 있습니다. feature/listing

DevelopSoo commented 1 year ago

https://github.com/pigrok/LV2_TodoList/blob/2424787aef62ed63641377d9195e0ace7e95f4b8/src/components/TodoList.jsx#L97-L101

map을 사용할 경우 리액트는 key를 입력하도록 합니다. 리액트 key를 꼭 넣어주세요. 추후에 리스트를 변경하거나 수정을 할 때 문제가 생길 수 있습니다.

참고자료: https://ko.legacy.reactjs.org/docs/lists-and-keys.html