새로운 주차 시작

수업 과제는 이름과 나이를 적으면 정보카드가 생성되는 형식의 사용자 리스트를 만드는 것이였다
요구사항은 아래와 같다
[ 1번 요구사항 ]
const [name, setName] = useState("");
const [age, setAge] = useState("");
[ 2번 요구사항 ]
if (!name || !age) {
alert("이름과 나이 모두 입력해주세요");
return;
}
[ 3번 요구사항 ]
const id = Date.now();
const userInfo = {
id: id,
name: name,
age: age
};
const userUpdate = [...users, userInfo];
setUsers(userUpdate);
setName("");
setAge("");
[ 4번 요구사항 ]
const userUpdate = users.filter(user => user.id !== id);
setUsers(userUpdate);
[ 5번 요구사항 ]
<input
type="text"
placeholder="이름"
className="nameInput"
value={name}
onChange={(e) => {setName(e.target.value)}}
/>
<input
type="number"
placeholder="나이"
className="ageInput"
value={age}
onChange={(e) => {setAge(e.target.value)}}
/>
[ 6번, 7번 요구사항 ]
{users.map(user => (
<div className="userMap">
<li key={user.id} className="userData">
<pre>이름: {user.name} | 나이: {user.age}</pre>
</li>
{/* 이름: John, 나이: 20 [삭제] 버튼이 하나의 행에 나올 수 있도록 해보세요. (hint: flex) */}
<button onClick={() => removeUser(user.id)} className="removeBtn">삭제</button>
</div>
))}