์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- ios
- ํผ์ ๊ณต๋ถํ๋ ๋จธ์ ๋ฌ๋
- ๊นํ์ฌ์ดํธ
- ํ ์คํธ ์ธํธ
- api๊ณตํตํ
- XCode
- axios์ธ์คํด์ค
- CSS
- ICT์ง์
- ICTํ๊ธฐ
- ๊นํ์๋ฌ
- ์์
- ์ฒดํฌ๋ฐ์ค์ปค์คํ
- svg์
- ํผ๊ณต๋จธ์
- ์ปค์คํ
- ๊ณผ๋์ ํฉ๊ณผ ๊ณผ์์ ํฉ
- react
- ๋งฅ๋ถ
- java 11 ์ค์น
- ๋ฅ๋ฌ๋
- ๋จธ์ ๋ฌ๋
- styled-components
- ICT์ธํด์ญ
- ์๋ฆฟ์์ ํ
- M1
- ์ปด๊ณต์ ๋ฐฐ
- ์์ด๋์ค๋ณต
- ํ๋ก ํธ์๋
- ์ทํ๊ท๊ฑธ์ด
- Today
- Total
Hi-๋๐ High-๋โ๏ธ
[React] Inputํ๊ทธ numberํ์ ์๋ฆฟ์ ์ ํ ๋ณธ๋ฌธ
์๋ ์์ผ์ ๋ฐ๋ Input ์ปดํฌ๋ํธ์์ ์ฐ๋๋ 4์๋ฆฌ, ๋ฌ์ 2์๋ฆฌ, ๋ ์ง๋ 2์๋ฆฌ๋ก ์ง์ ํ๊ณ ์ถ์๋ค.
๊ทธ๋์ ์ฐพ์๋ดค๋๋ Inputํ๊ทธ์ maxlength๋ฅผ ์ง์ ํ๋ฉด ๊ธธ์ด๋ฅผ ์ ํํ ์ ์์ผ๋, ํ์ ์ด number์ธ ๊ฒฝ์ฐ์๋ ๋ถ๊ฐ๋ฅํ๋ค๊ณ ํ๋ค.
๋ฐ๋ผ์ ์ง์ onChangeHandler์์ ๋ค๋ค์ผ ํ๊ณ , ์ฝ๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๊ณ ์ณค๋ค.
const yearChangeHandler = (e) => {
setUserInfo({ ...userInfo, year: e.target.value.slice(0, 4) });
};
const monthChangeHandler = (e) => {
setUserInfo({ ...userInfo, month: e.target.value.slice(0, 2) });
};
const dayChangeHandler = (e) => {
setUserInfo({ ...userInfo, day: e.target.value.slice(0, 2) });
};
<InputBirth
yearChangeHandler={yearChangeHandler}
monthChangeHandler={monthChangeHandler}
dayChangeHandler={dayChangeHandler}
/>
๊ทธ๋ฐ๋ฐ ์ด๋ ๊ฒ ๊ณ ์น๋๊น ํ๋ฉด์์ ์ ์ฉ์ด ๋์ง ์์๋ค. ์ผ๋ฐ์ ์ธ Inputํ๊ทธ์๋ค๋ฉด ์๋์ ํ์ ๊ฒ์ด์ง๋ง, ๋๋ Input์ ์ปค์คํ
ํ <InputBirth />
๋ผ๋ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด์๋ค.
์์ ์ฝ๋์์ ๋ณผ ์ ์๋ฏ์ด <InputBirth />
์ปดํฌ๋ํธ๋ value ๊ฐ์ ๋ฐ๋ก ์ง์ ํ์ง ์์๋ค. ๊ทธ๋์ ์ฝ๋๋ฅผ ์ ๋ ๊ฒ ์์ฑํ๋ฉด year, month, day๊ฐ์ ๊ฐ๊ฐ 4, 2, 2๊ธ์๋ก UserInfo์ ์ ๋ณด๋ ์ ์ ์ฅ๋์ง๋ง, value๋ฅผ ๋ฐ๋ก ์ง์ ํด์ฃผ์ง ์์ผ๋ ํ๋ฉด์์๋ slice๋ ๊ฐ์ ๋ณด์ฌ์ฃผ์ง ๋ชปํ๋ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ <InputBirth />
์ปดํฌ๋ํธ์ props๋ก value๊ฐ์ ๋ฃ์ ์ ์๊ฒ ์์ ํ๊ณ , ์ฌ์ฉํ ๋์๋ ๋๊ฒจ์ฃผ๋ ๋ฐฉ์์ผ๋ก ์์ ํ์๋ค.
<InputBirth
yearValue={userInfo.year}
monthValue={userInfo.month}
dayValue={userInfo.day}
yearChangeHandler={yearChangeHandler}
monthChangeHandler={monthChangeHandler}
dayChangeHandler={dayChangeHandler}
/>
์ด๋ ๊ฒ ํ๋ฉด handler์์์ ์๋ฆฟ์๊ฐ ์ ํ๋ number๋ฅผ setUserInfo๋ฅผ ํตํด ์ ์ฅํ๊ณ , ์ ์ฅ๋ state๋ฅผ value๊ฐ์์ ๋ฐ์์์ ํ๋ฉด์ ์ ์ ํ ๋ณด์ฌ์ค ์ ์๊ฒ ๋๋ ๊ฒ์ด๋ค! ูฉ( แ )ู
'React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] ์๋ฌ ํด๊ฒฐ - "sh: react-scripts: command not found" (0) | 2023.07.04 |
---|---|
[React] API ์ค์ ๊ณตํตํ - ํ๊ฒฝ๋ณ์, axios ์ธ์คํด์ค ์ฌ์ฉํ๊ธฐ (0) | 2023.05.08 |
[React] API ์ฐ๋ํ๊ธฐ with axios (0) | 2023.05.08 |
[React] Checkbox ์ปค์คํ ํ๊ธฐ with styled-components (+์ ๋๋ฉ์ด์ ) (0) | 2023.04.06 |
[React] SVGํ์ผ ์์ ๋ณ๊ฒฝํ๊ธฐ (0) | 2023.03.18 |