일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- await
- js
- db
- async
- Import
- JS #프로젝트
- https://youtube.com/playlist?list=PLuHgQVnccGMA5836CvWfieEQy0T0ov6Jh&si=FTaYv8m21EhO-A2K
- json
- sql
- 혼프
- 동기
- prj
- 비동기
- mysql
- database
- 게임
- setTimeout()
- Porject
- slow and steady
- 참고블로그
- object
- addEventListener
- eport
- Project
- promise
- execCommand
- ajax
- callback
- https://m.blog.naver.com/tt2t2am1118/221010125300
- webpack
- Today
- Total
C-log
⚛️Start! React : section15 - POST,CREATE구현 본문
이번 시간에는 Header부분에 있는 단어 추가하기와 Day추가하기를 구현해 볼 것이다. 포스팅에 앞서 이전 시간에 우리는 fetch를 활용해서 계속해서 개발을 해왔다. 그만큼 API의 중요성을 느꼈을 것이며 이에 다른 custom Hook을 만들었다는 것을 잊지 말아야한다. 더 나아가 Js와 React의 차이가 무엇인지 생각해보면 좋을 듯하다. 이번에 생성할 컴포넌트들을 Route해야하기 때문에 App.js에서 Route를 설정해주자.
ClassApp.js
createWord컴포넌트를 살펴보자
* createWord.js
여기서 주의 깊게 보아야하는 것은 fetch와 useRef, useNavigate이다. coustom Hook을 사용하지 않고 fetch를 이용해서 PUT이 아닌 POST를 이용했다. 이에 json에 전달할 구체적인 값을 body에 설정해준다. 보통 js라면 document를 사용해서 입력받은 값을 전달하지만 여기서는 useRef라는 Hook을 사용해서 현재 입력된 정보를 가져온다. 그렇게 전달 받은 값은 json파일에 맞춰서 API를 통해 각 해당되는 객체에 값을 전달하고 전달이 완료되면 navigate를 통해 원하는 페이지로 이동을 한다. navigate를 사용하기 위해서 form태그의 submit이 되었을 때 자동 새로고침을 막기위해 e.preventDefault를 해주어야한다. createDay컴포넌트를 살펴보자.
createDay.js
day를 생성하는 페이지이기에 현재 days의 전체 길이를 보여주고 이를 추가해주기만 하면된다. fetch는 POST형식으로 createWord 컴포넌트와 다를게 없다. 크게 어려움은 없는 부분이다. 지금까지 살펴보면 클릭을 하고 해당 페이지를 Route 관리를 해주는 부분에서 잘 구성만 한다면 별 어려움 없이 없다는 것을 알 수 있다. 다시 강의를 살펴본다면 클릭과 페이지간의 이동을 유심히 보면 좋을 듯하다.
'⚛️React > ⚡ver.1' 카테고리의 다른 글
⚛️Start! React : section14 - PUT,DELETE구현 (0) | 2024.01.21 |
---|---|
⚛️Start! React : section13 - Custom Hooks (0) | 2024.01.19 |
⚛️Start! React : section12 - useEffect()&fetch() (0) | 2024.01.19 |
⚛️Start! React : section11 - json-server,REST API&botton (0) | 2024.01.19 |
⚛️Start! React : section10 - Route (0) | 2024.01.18 |