React 에서 제공하는 기능들을 연결 (hook) 시켜주는 것들
- useState();
React 는 state의 변경을 감지해서 화면을 다시 그린다.(리렌더링을 한다)
state 변경 = 리렌더링
<form> 태그는 어딘가로 제출이 되어야한다.
form 태그 안에있는 button 태그는 기본적으로 submit 속성을 가진다.
input 태그를 연결해주기 위해선 state 에 저장해줘야 한다. (value,onChange)
state 를 저장하려면 value와 onChange 를 사용해서 연결시켜줘야한다.
map을 이용해 컴포넌트를 작성할 때 key 라는 속성을 넣어줘야 한다.
button 은 onclick 이벤트 말고 form 태그에 onSubmit 태그로 작성해주자.
1. 각 input 값 연결해주기
1-1 useState 로 각각 설정해주고, 모든 값을 하나에 넣어주기
ex) country 를 useState에 넣고 새로운 값으로 빼려면 setCountry 를 사용하면 된다.
1-2 input 값을 State 로 넣어주기 (value, onChange)
ex) value(country)를 onChange 바꿔준다. setCountry (새로운 값에) c.target.value(새로운 요소를)
2. 국가 추가 버튼을 눌러 밑에 띄우기 onClick 대신 onSubmit으로 form 태그에 (form 태그는 어디로 값을 보낸다)
- onSubmit 기능을 사용할 때 preventDefault 로 새로고침을 방지하고, 새로운 객체를 만들어 id값은 히든값으로 새로 나오게 해주고, country 는 country 를, gold는 gold를 각자 input 값을 그대로 가져오게 한다..? setCountries는 ...countries (모든 요소)에 newCountries 를 추가한 값을 넣어준다. 그리고 countries를 map으로 순환하여 key 값을 받아 각 html 구역마다 data값을 넣어준다. 버튼을 눌러주면 input 위치에 있는 form 태그값을 리셋해준다.
3. 삭제 버튼을 누르면 해당 값만 삭제한다.
ex) countries를 filter한다. id값이 countryData.id 값과 다를때 setCountries를 filter한다? 난 여기 설명을 들어도 모르겠음
<tbody>
'코딩 > React 본 캠프' 카테고리의 다른 글
[본 캠프 23일차] React 스탠다드 강의, 1차 과제 (0) | 2024.08.14 |
---|---|
[본 캠프 22일차] React 입문 개인과제 마지막날 (0) | 2024.08.13 |
[본 캠프 20일차] React 입문 1주차 강의 마무리 + 2주차 강의 (0) | 2024.08.09 |
[본 캠프 19일차] 걷기반 5주차 실습 + React 입문 1주차 (0) | 2024.08.08 |
[본 캠프 18일차] 팀 프로젝트 끝 (0) | 2024.08.07 |