input컴포넌트 상태 관리
기존에 사용했던 프롭스를 지정해 switch문을 이용한 방법은 추가관리가 어려움 ⇒ 생성된 input 컴포넌트 하나하나 다 지정해주어야 함
⇒ 해결방법
하나의 스테이트로 관리하기
const [inputForm, setInputForm] = useState({
deposit: '',
changeCoin: '',
});
function inputHandleChange(e) {
setInputForm((prev) => ({
...prev,
// 스프레드 문법을 쓰는 이유
// 정적인 값을 할당 시 타겟이 아닌 값에 영향을 줌
[e.target.name]: e.target.value,
// e.target.name과 같은 프로퍼티 키를 가진 벨류를 변경
}));
}
https://react.vlpt.us/basic/09-multiple-inputs.html
이벤트에 따른 상태변화 필요 값 정리
값 \ 이벤트 | 잔액반환 | 코인반환 | 획 득 | 코인변환 | 코인입금 | 금액입금 | 아이템 선택 |
---|---|---|---|---|---|---|---|
소지금 | O | O | O | ||||
소지코인 | O | O | O | ||||
잔액 | O | O | O | O | |||
잔여코인 | O | O | O | O | |||
장바구니리스트 | O | O | |||||
장바구니 총금액 | O | O | |||||
할인된 금액 | O | O | |||||
내 리스트 | O | ||||||
구매한 총금액 | O | ||||||
입금 금액 | O | ||||||
입금 코인 | O | ||||||
장바구니 아이템 개수 | O | O |