반응형
...
const userInput = {
name: 'Patrick', age: 23, gender: 'M'
};
const newUserInput = { ...userInput, age: 25 };
그리고 title과 amount, date가 바뀔 때마다 각가 함수를 만들어 업데이트할 수 있다
...userInput
< 이부분을 어떻게 업데이트 하는지가 문제가 될 수 있다 (왜..?)
ExpenseForm.js
import React, { useState } from "react";
import "./ExpenseForm.css";
const ExpenseForm = () => {
const [enteredTitle, setEnteredTitle] = useState("");
const [enteredAmount, setEnteredAmount] = useState("");
const [enteredDate, setEnteredDate] = useState("");
const [userInput, setUserInput] = useState({
eneteredTitle: '',
eneteredAmount: '',
eneteredDate: '',
})
const titleChangeHandler = (event) => {
setUserInput({
...userInput,
enteredTitle: event.target.value
})
}
const amountChangeHandler = (event) => {
setUserInput({
...userInput,
enteredAmount: event.target.value
})
}
const dateChangeHandler = (event) => {
setUserInput({
...userInput,
enteredDate: event.target.value
})
}
return <form>
<div className="new-expense__controls">
<div className="new-expense__control">
<label htmlFor="">Title</label>
<input type="text" onChange={titleChangeHandler} />
</div>
<div className="new-expense__control">
<label htmlFor="">Amount</label>
<input type="number" min="0.01" step="0.01 " onChange={amountChangeHandler} />
</div>
<div className="new-expense__control">
<label htmlFor="">Date</label>
<input type="date" min="2021-01-01" max="2023-12-31" onChange={dateChangeHandler} />
</div>
<div className="new-expense__actions">
<button type="submit">Add Expense</button>
</div>
</div>
</form>
}
export default ExpenseForm;
반응형
'온라인 강의 > React 완벽 가이드 [Udemy]' 카테고리의 다른 글
60. 양식 제출 처리 (0) | 2023.06.02 |
---|---|
59. 이전 State에 의존하는 State 업데이트 (0) | 2023.06.02 |
57. 여러 State 다루기 (0) | 2023.06.02 |
56. 사용자 입력 리스닝(listening) (0) | 2023.06.02 |
55. 양식 입력 추가하기 (0) | 2023.06.02 |