Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- db
- 참고블로그
- database
- setTimeout()
- prj
- js
- Import
- await
- execCommand
- addEventListener
- sql
- 혼프
- mysql
- webpack
- https://youtube.com/playlist?list=PLuHgQVnccGMA5836CvWfieEQy0T0ov6Jh&si=FTaYv8m21EhO-A2K
- 동기
- object
- promise
- 게임
- Porject
- ajax
- slow and steady
- callback
- eport
- json
- 비동기
- Project
- JS #프로젝트
- async
- https://m.blog.naver.com/tt2t2am1118/221010125300
Archives
- Today
- Total
C-log
⚛️React Training - section06 : ToDo List - map 본문
728x90
이번 포스팅에선 이전 포스팅에 이어서 ToDo List를 마무리 해볼 것이다. 우리가 input태그에 작성한 값들이 useState 배열에 값을 저장하게 했다. 이 배열 값들을 우리는 브라우저 UI로 나올 수 있게 코드를 작성할 것이다. 이전에도 우리가 해보았듯 배열 값을 jsx에 효율 적으로 반복시키기 위해선 map함수를 사용 해야한다. 아래 코드를 살펴보자.
import { useState } from "react"
export default function SubApp() {
const [toDo, setToDo] = useState("");
const [toDos, setToDos] = useState([]);
const onChange = (event) => setToDo(event.target.value);
const onSubmit = (event) => {
event.preventDefault();
if (toDo === "") {
return;
}
setToDo("")
setToDos(currentArray => [toDo, ...currentArray])
}
console.log(toDos);
return (
<div>
<h1>My To Do ({toDos.length})</h1>
<form onSubmit={onSubmit}>
<input
onChange={onChange}
value={toDo}
type="text"
placeholder="Write your to do..."
/>
<button>Add To Do</button>
</form>
<hr />
{toDos.map((data, index) => (<li key={index}>{data}</li>))
}
</div >
)
}
현재 toDos에 저장되어 있는 배열 값들을 map함수로 반복하고 있다. 그리고 매개변수로는 toDos의 배열 값들을 data로 받아와서 li태그에 값을 부여한다. 여기서 주의 해야 할 것은 반복되는 태그는 항상 key값을 부여 해야하기에 index라는 매개변수로 li태그의 key값을 설정해주면 된다. 이 것으로 간단하게 만들어본 ToDo List이다. 이를 더 발전시면 해당 리스트의 값을 삭제하거나 수정할 수 있는 기능을 넣어 볼 수 있을 것이다.
728x90
'⚛️React > ⚡ver.2' 카테고리의 다른 글
⚛️React Training - section06 : fetch, await/async - Movie Web (0) | 2024.02.06 |
---|---|
⚛️React Training - section06 : (0) | 2024.02.06 |
⚛️React Training - section06 : ToDo List (0) | 2024.02.05 |
⚛️React Training - section05 : useEffect - CleanUp function (0) | 2024.02.05 |
⚛️React Training - section05 : useEffect (0) | 2024.02.04 |
Comments