- context/routing 에 익숙해진다.
-
과제 2에서 만들었던 리스트 사이트에 대해서 몇 가지 조건이 변경/추가됩니다.
-
Items Page (
/items
)- 모든 리스트를 볼 수 있어야합니다.
작성
버튼을 통해 Create Page(/items/create
)으로 이동해야 합니다.- 리스트 정렬 방식을 바꿀 수 있는 버튼이 존재해야 합니다 ex)
id로 정렬
,name으로 정렬
- 정렬 방식은 브라우저의 주소를 통해 확인할 수 있어야 합니다.
- 각
item
을 클릭하면, 해당item
에 맞는 Item Detail Page(/items/:id
)로 이동해야 합니다. items
를 출력할 때,ul
태그와li
태그 필수적으로 사용해주세요.
-
Item Create Page(
/items/create
)추가
버튼을 누르면item
이 추가돼야 합니다.item
이 추가되면 해당item
의 Detail Page(/items/:id
)로 이동해야 합니다.취소
버튼을 누르면정말 취소하시겠습니까?
라는 메세지와 함께 다시 한 번 확인해야합니다.확인
을 누르면, Items Page(/items
)로 이동해야 합니다.취소
를 누르면, 페이지에 입력 내용은 보존된 상태로 남아 있어야 합니다.
item
은 필수적으로id
값을 가져야하고, 이 값은unique
해야 합니다.create
할 때 입력을 받으셔도 되고, 생성 시 자동으로 추가하도록 구현해도 됩니다.
-
Item Detail Page(
/items/:id
)- 별 거 없습니다. 그냥 해당
item
을 보여주시면 됩니다. 수정
버튼을 누르면 Edit Page(/items/edit/:id
)로 이동해야 합니다.삭제
버튼을 누르면 해당item
을 삭제하고 Items Page(/items
)로 이동해야 합니다.
- 별 거 없습니다. 그냥 해당
-
Item Edit Page(
/items/:id/edit
)- 각
input
에는 원래item
이 가지고 있던 값이 처음부터 들어있어야 합니다. 단,id
값은 수정 불가합니다. 확인
버튼을 누르면item
이 수정돼야 합니다.item
이 수정되면 해당item
의 Detail Page(/items/:id
)로 이동해야 합니다.취소
버튼을 누르면정말 취소하시겠습니까?
라는 메세지와 함께 다시 한 번 확인해야합니다.확인
을 누르면, Items Page(/items
)로 이동해야 합니다.취소
를 누르면, 페이지에 입력 내용은 보존된 상태로 남아 있어야 합니다.
- 각
-
리스트는
context
를 사용해서 전역으로 관리해주세요.
에시
깃헙 배포의 특성상 새로고침하면 404페이지가 뜹니다. 혹여나 새로고침 하셨으면 위 링크로 다시 접근해주세요.
추가로, 예시 페이지는 /list
가 기본적으로 들어가있는데, 이도 깃헙 배포라 어쩔 수 없는 부분입니다.
과제 하실 때는 위의 스펙에 맞춰주세요!
- 함수형 컴포넌트로 과제를 진행해주세요
- 초기 데이터가 최소한 3개는 있어야 합니다.
- 디자인은 신경쓰지 않을 것 입니다.
그래도 예쁘면 좋아요 - 리스트는
context
를 사용해서 전역으로 관리해주세요. - 커밋은 되도록이면 최대한 잘게 쪼개서 해주세요. 커밋 내용을 지켜보고, 전체적인 진행 상황에 따라 과제 due나 명세를 수정할 수 있습니다. 커밋 메시지도 상세할수록 좋습니다.
-
과제 2에서 생성했던 레포를 이어서 사용합니다.
-
과제 2에서 생성한 브랜치는 각자 사용한
grace day
를 포함한 제출시간이 지나면 바로merge
해 주세요. -
vesion-react
브랜치에서 과제 3을 진행하시고 과제 2와 같이pull request
작성하시면 됩니다. -
풀리퀘를 생성하신 후에 commit을 해도 자동으로 풀리퀘에 반영 되므로, 가급적 일찍 생성해주시면 좋겠습니다. 각 브랜치마다 마감 시점의 최종 commit을 확인할 것입니다.
혹시 브랜치 생성 및 풀리퀘 생성에 문제가 있으면 꼭 질문해주시기 바랍니다