State
변경될 수 있는 데이터에 사용
데이터의 변경 사항이 사용자 인터페이스에 반영되어야 하는 경우
일반 변수로는 변경된 값을 설정할 수 없음
useState를 사용 하는 두 가지 방법
const ExpenseForm = () => {
const [enteredTitle, setEnteredTitle] = useState('')
const [enteredAmount, setEnteredAmount] = useState('')
const [enteredDate, setEnteredDate] = useState('')
}
const titleChangeHandler = event => {
setEnteredTitle(event.target.value)
}
const [userInput, setUserUnput] = useState({
enteredTitle: '',
enteredAmount: '',
enteredDate: '',
})
const titleChangeHandler = event => {
setUserInput({
...userInput, // 현재 값들 복사
enteredTitle: event.target.vlaue // 제목만 업데이트
})
}
const titleChangeHandler = event => {
setUserInput((prevState) => {
return { ...prevState, enteredTitle: event.target.value }
})
}