기록
리액트7 toDoList만들기 /배열, map() 본문
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;
setToDos( (currentArray)=> [toDo, ...currentArray] );
setToDo("");
}
return (
<div>
<h1>my ToDoList{toDos.length}</h1>
<form onSubmit={onSubmit}>
<input value={toDo} type="text" onChange={onChange} />
<button>submit</button>
</form>
<hr />
{toDos.map( (item,index) => (
<li key={index}>{item}</li>
))}
</div>
)
}
export default App;
setToDos( (currentArray)=> [toDo, ...currentArray] );
함수를 보낼때, react는 함수의 첫번째 argument로 현재 state를 보낸다.
...currentArray 는 currentArray의 element를 돌려줌
{toDos.map( (item,index) => (
<li key={index}>{item}</li>
))}
map() 은 자바스크립트함수로
하나의 array에 있는 item을 내가 원하는 무엇이든지로 바꿔주는 역할을 하고 새로운 array로 return해준다.
첫번째 argument로 현재의 item을 가져올 수 있다.
'REACT' 카테고리의 다른 글
리액트9 영화사이트 만들기/React Router (react-router-dom) (0) | 2023.09.14 |
---|---|
리액트8 코인api 가져와서 출력하기 useEffect fecth map (0) | 2023.09.13 |
리액트6 useEffect() / cleanUp function (0) | 2023.09.12 |
리액트5 create-react-app 설치 및 css적용 (0) | 2023.09.12 |
리액트4 props 컴포넌트 재사용 propTypes (0) | 2023.09.11 |
Comments