codestates / codestates/UptoDoor
[๐ช Error Handling] input value vs defaultValue & onChage/ 2021-09-27
- Dominant language
- JavaScript
- Stars
- 1
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
### ์ด๋ค ์๋ฌ์ธ๊ฐ์?
- input ์ฐฝ์์ quantity ๋ฒํผ ๋๋ฌ ๊ฐฏ์์กฐ์ ์ 0๊ฐ ์ดํ๋ก ๊ฐ๋ฉด return false ํ๋ ํจ์ ์์ฑ.
- input์ ๋ฐธ๋ฅ๊ฐ defaultValue ๋ก ๋์ด์์ด์ if ๋ฌธ์ ์์ฑํด๋ ์ ์ฉ๋์ง ์์. [๊ณ์ ๋ง์ด๋์ค ์๋ ํ์๊ฐ ๋จ.]
- ๊ณ ์ ๊ฐ์ธ defaultValue ์์ value ๋ก ๋ฐ๊ฟ์ ์๋์กฐ์ ๋ฌธ์ ๋ ํด๊ฒฐํ์ง๋ง ์ฝ์์ฐฝ์ ๋ค์๊ณผ ๊ฐ์ ์๋ฌ๋ฐ์.
### ์๋ฌ ๋ฉ์์ง

**๊ธฐ์กด์ฝ๋**
```js
//* ์ซ์ ๋นผ๋ ํธ๋ค๋ฌ
const decrement = useCallback((e,id) =>{
const btn = e.target.parentNode.parentElement.querySelector(
'button[data-action="decrement"]'
);
const target = btn.nextElementSibling;
let value = Number(target.value);
if(value < 1){
return false;
}else{
value--;
target.value = value;
dispatch(setQuantity(target.value, id));
}
});
```
### ์๋ฌ ํธ๋ค๋ง ๋ฐฉ๋ฒ
- ์๋ฌ์ฝ๋๋ฅผ ์ฝ์ด๋ณด๋ readOnly์ defaultValue ๊ฐ ์๋ ์ด์ value ๊ฐ์ ์ฌ์ฉํ ๋ onChange ๊ฐ ์์ด์ผ ํ๋ค๊ณ ์ฐ์ฌ์๋ค.
- input๊ฐ์ onChange ํจ์๋ฅผ ๋ฃ๊ณ ์์์ ์ํ๋ฅผ ํ๋ ์์ฑํ์ฌ ํจ์์์์ e.target.value ์ setMinusQuantity์ ๋ฃ์ด์ฃผ์๋ค.
- const [minusQuantity , setMinusQuantity] = useState(0)
- ๊ฒฐ๊ณผ์ ์ผ๋ก ์ค๋ฅ๋ ์๋์ง๋ง minusQuantity๋ฅผ ์ฐ์ง์์ ์์ ํ ์ข์์ฝ๋๋ผ๊ณ ๋ ๋ณผ ์ ์๋๊ฒ ๊ฐ๋ค.
- ๊ธฐ์กด์ ์ฝ๋๋ฅผ ๊ฑด๋๋ฆฌ์ง ์๊ธฐ ์ํด ์์๋ฐฉํธ์ ์ผ์ง๋ง ๋ฆฌํฉํ ๋ง ํ ๊ณ ์น๋์๊ฐ์ ๊ฐ์ ธ๋ณด๋ฉด ์ข์๊ฒ ๊ฐ๋ค.
**๋ณ๊ฒฝ์ฝ๋**
```js
const [minusQuantity , setMinusQuantity] = useState(0)
const onChangeQuantity = (e) => {
setMinusQuantity(e.target.value)
}
//* ์ซ์ ๋นผ๋ ํธ๋ค๋ฌ
const decrement = useCallback((e,id) =>{
const btn = e.target.parentNode.parentElement.querySelector(
'button[data-action="decrement"]'
);
const target = btn.nextElementSibling;
let value = Number(target.value);
if(value < 1){
return false;
}else{
value--;
target.value = value;
dispatch(setQuantity(target.value, id));
}
});
```
์ด ๊ฒฝ์ฐ, ๋ฐธ๋ฅ๊ฐ์ ๊ณ ์ ๋ ๊ฐ์ด ์๋๊ณ ์ ํํ ๊ฒ์ ๋ฐ๋ผ ๊ฐ์ด ๋ฐ๋๋๊ฒ์ด๊ธฐ ๋๋ฌธ์ defaultValue ๋ฅผ ์ฐ๋ฉด ์๋๋ค.
์๋ฅผ๋ค์ด ์ด๋ฆ๊ณผ ๊ฐ์ ๋จ์ ํ
์คํธ๊ฐ ๋ค์ด๊ฐ๊ณ ๋ณ๊ฒฝ๋์ง์๋ ๊ฐ์ด ๋ค์ด๊ฐ๋ ๊ด์ฐฎ์ง๋ง (e.target.value ๋ก ๋๋๋๊ฒ๋ค)
๊ฐ๊ฒฉ, ์๋, ๋ชจ๋ฐ์ผ(010-123-2222)๋ฑ ํจ์์์์ ์ด๋ค ์กฐ๊ฑด์ ์ฃผ๊ณ , ๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด value, onchange ๋ฅผ ์จ์ฃผ๋ฉด ๋๋ค.
### ์๋ฌ ํธ๋ค๋ง์ ์ํด ์ฐธ๊ณ ํ ๋ ํผ๋ฐ์ค ๋งํฌ
[๋งํฌ]()
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.