1. 배열의 state화
- form의 입력값들을 state 변수로 받는다.
- Submit 시에 state 변수에 담긴 값들을 state의 배열 변수에 담는다.
import React, {useState} from "react";
import Movie from "./components/Movie";
function App() {
const [movieTitle, setMovieTitle] = useState('');
const [movieYear, setMovieYear] = useState('');
const [movies, setMovies] = useState([
{title: 'kossie coder1', year: 2001},
{title: 'kossie coder2', year: 2002},
{title: 'kossie coder3', year: 2003},
{title: 'kossie coder4', year: 2004}
]);
const renderMovies = movies.map(movie => {
return (
<Movie movie={movie} key={movie.title}/>
);
});
const addMovie = (event) => {
event.preventDefault();
setMovies([
...movies, // 기존 배열들 +
{
title: movieTitle,
year: movieYear
}
]);
};
return (
<div className="App">
<form onSubmit={addMovie}>
<input
type="text
value={movieTitle}
placeholder="영화제목"
onChange={e => setMovieTitle(e.target.value)}
/><br/>
<input
type="text
value={movieYear}
placeholder="개봉년도"
onChange={e => setMovieYear(e.target.value)}
/><br/>
<button type="submit">영화추가</button>
</form>
</div>
);
}
export default App;
강의 링크
'[ Web ] > React.js' 카테고리의 다른 글
[React.js] Kossie Coder - 14강. 자식 컴포넌트에서 부모 컴포넌트 스테이트 변경하기 (0) | 2021.12.28 |
---|---|
[React.js] Kossie Coder - 13강. 영화 리스트 추가 폼 만들기 2 (0) | 2021.12.28 |
[React.js] Kossie Coder - 11강. 컴포넌트와 props 데이터 보내기 복습 (0) | 2021.12.28 |
[React.js] Kossie Coder - 10강. 리액트 반복문 (0) | 2021.12.28 |
[React.js] Kossie Coder - 9강. 조건 렌더링 (0) | 2021.12.28 |