리액트를 활용해서 명세대로 간단한 투두리스트를 만들어본다.
- 검색창에 글을 검색하고 추가하면 메모가 추가되도록 해보기
- 메모들의 우측상단의 버튼을 누르면 삭제버튼이 보인다. 한번 더 누르면 삭제 버튼이 사라진다.
- 삭제버튼을 누르면 메모가 삭제된다.
- memo의 저장은 localstorage를 활용해서 저장할 수 있다.
목표
- 컴포넌트간 데이터를 전달할 수 있다.
- 삭제버튼의 visibility를 관리하기 위해서 useState hook을 사용할 수 있다.
- 간단한 webstorage API(localstorage)를 활용해볼 수 있다.
메모데이터를 localstroage에 저장하는 대신에 서버의 db에 저장해보고 가져와 보자. api는 아래 참조 부탁. 그리고 서버 base url은 개인 문의 부탁
목표
- 서버와 통신하면서 비동기 처리를 이해할 수 있다.
- 컴포넌트의 라이프 사이클을 이해할 수 있다.
- 함수형 컴포넌트에서 useEffect hook을 사용할 수 있다.
- .env에 안전하게 base url정보를 저장할 수 있다.
-
GET/api/v1/memosresponse
{ "data": [ { "content": "포스트맨에서 작성해봅니다.", "createdAt": "2024. 7. 5.", "id": "971cb97f-5a92-4e31-8a27-5a0d2944f3b5" } ] } -
POST/api/v1/creatememobody parameter
{ "content" : "메모내용을 남겨보자" }response
true -
POST/api/v1/deletememobody parameter
{ "id" : "971cb97f-5a92-4e31-8a27-5a0d2944f3b5" }response
true -
공통 에러 코드-
400
{ 'message' : '유효하지 않은 값입니다.' } -
500
{ 'message' : '서버 오류입니다. 잠시후에 시도해주세요.' }
-
메모의 버튼을 누르면 상세보기 페이지로 이동한다.
목표
- 클라이언트 사이드 라우팅기술을 이해할 수 있다.
- 이를 위해 react-router-dom라이브러리를 활용할 수 있다.
cors에러 방지를 위해 프론트 페이지 주소는 http://localhost:5173으로 유지해주세요.