react에서 todo list를 만들 때 useState를 이용해서 추가될 때마다 상태를 업데이트한다.
onChange 함수로 toDo가 바뀔때 그것을 modifier 함수에 지정해준다.
또한 onSubmit 함수로 제출할 때 새로고침 방지해주고 아무것도 입력되지 않으면 비워준다.
또한 toDos array를 만들고, 어떤 toDo가 추가되면 현재 array에 새로운 toDo를 추가해준다.
setToDos((currentArray) => [toDo, ...currentArray])의 사용에 주의한다.
import { useEffect, useState } from "react";
function App() {
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 Dos ({toDos.length})</h1>
<form onSubmit = {onSubmit}>
<input value = {toDo} onChange = {onChange} type = "text" placeholder = "Write your to do..." />
<button>Add To Do</button>
</form>
</div>
);
}
export default App;
'개발 > react' 카테고리의 다른 글
react의 useEffect는 api call 할 때 많이 사용!! (0) | 2022.09.26 |
---|---|
react에서 to-do-list 만들기는 바닐라 js에 비해 너무 쉬움!! (0) | 2022.09.26 |
react에서 useState와 useEffect 사용 예시!! (0) | 2022.09.25 |
react의 useEffect는 딱 한번만 실행되며 dependency에서 변화되는 것을 지켜봄!! (0) | 2022.09.25 |
create-react-app (0) | 2022.09.24 |