์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- streamlit
- ์น๋์๋ณด๋ ๊ธฐ์ด
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- ์๋ฐ๊ณต๋ถ
- java
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- ์๋ฐ๊ธฐ์ด
- Streamlit๊ธฐ์ด
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- ์น๋์๋ณด๋ ์ ์
- ํ์ด์ฌ
- ํ๋ค์ค๊ณต๋ถ
- ์คํธ๋ฆผ๋ฆฟ
- ์๋ฐ์ด๋ณด
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- MySQL
- ํ๋ค์ค
- ์๋ฐ์คํฌ๋ฆฝํธ
- db
- JavaScript
- serverless
- RESTful API
- Streamlit๊ธฐ๋ณธ
- ์๋ฐ
- Flutter
- ํ์ด์ฌ๊ณต๋ถ
- Android
- Pandas
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- ์๋๋ก์ด๋ ์คํ๋์ค
- Today
- Total
ruriruriya
[React] ๋ฆฌ์กํธ - useState ๋ณธ๋ฌธ
React์์ useState๋ ํจ์ํ ์ปดํฌ๋ํธ์์ ์ํ ๊ด๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ํ
(hook)์ด๋ค.
์ด ํ
์ ์ฌ์ฉํ๋ฉด ์ปดํฌ๋ํธ ๋ด์ ์ํ(state)๋ฅผ ์์ฑํ๊ณ , ์ด ์ํ๋ฅผ ์
๋ฐ์ดํธํ ์ ์๋ค.
์ํ๋ ํด๋น ์ปดํฌ๋ํธ์ ๋ฐ์ดํฐ ๋๋ ์์ฑ์ ์๋ฏธํ๋ฉฐ,
์ด ๋ฐ์ดํฐ๊ฐ ๋ณํ ๋๋ง๋ค React๋ ์ปดํฌ๋ํธ๋ฅผ ๋ค์ ๋ ๋๋งํ๋ค.
useState ์ฌ์ฉ๋ฒ
useState๋ ์ด๊ธฐ ์ํ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ๊ณ , ์ํ ๊ฐ๊ณผ ๊ทธ ์ํ๋ฅผ ์ค์ ํ๋ ํจ์๋ฅผ ๋ฐฐ์ด ํํ๋ก ๋ฐํํ๋ค.
[useState ๊ธฐ๋ณธ๊ตฌ์กฐ]
- state: ํ์ฌ ์ํ์ ๊ฐ
- setState: ์ํ๋ฅผ ์ ๋ฐ์ดํธํ๋ ํจ์
- initialState: ์ํ์ ์ด๊ธฐ ๊ฐ
const [state, setState] = React.useState(initialState);
useState๋ 0์ ์ด๊ธฐ ์ํ ๊ฐ์ผ๋ก ์ฌ์ฉํ์ฌ counter๋ผ๋ ์ํ๋ฅผ ์์ฑํ๋ค.
counter๋ ํ์ฌ ํด๋ฆญ ์๋ฅผ ์ ์ฅํ๋ ๋ณ์์ด๊ณ ,
setCounter๋ counter๋ฅผ ์
๋ฐ์ดํธํ๋ ํจ์์ด๋ค.
const [counter, setCounter] = React.useState(0);
์ํ ์ ๋ฐ์ดํธ ๋ฐฉ๋ฒ
setCounter ํจ์๋ counter ์ํ๋ฅผ ์ ๋ฐ์ดํธํ๊ธฐ ์ํด ํธ์ถ๋๋ค.
์ด ํจ์๋ฅผ ํธ์ถํ ๋ ์๋ก์ด ์ํ ๊ฐ์ ์ง์ ๋๊ฒจ์ค ์๋ ์๊ณ ,
ํ์ฌ ์ํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ณ์ฐ๋ ๊ฐ์ ๋๊ฒจ์ค ์๋ ์๋ค.
์๋์์ onClick ํจ์๋ ์ฌ์ฉ์๊ฐ ๋ฒํผ์ ํด๋ฆญํ ๋ ํธ์ถ๋๋ ํจ์์ด๋ค.
ํจ์ ๋ด๋ถ์์ setCounter๋ฅผ ์ฌ์ฉํ์ฌ counter ๊ฐ์ ํ์ฌ ๊ฐ์์ 1 ์ฆ๊ฐ์ํจ๋ค.
React๋ ์ด ์ํ ๋ณ๊ฒฝ์ ๊ฐ์งํ๊ณ ,
App ์ปดํฌ๋ํธ๋ฅผ ๋ค์ ๋ ๋๋งํ์ฌ ํ๋ฉด์ ์ต์ ํด๋ฆญ ์๋ฅผ ํ์ํฉ๋๋ค.
const onClick = () => {
setCounter(counter + 1);
};
useState๋ฅผ ์ฌ์ฉํ๋ฉด ์ปดํฌ๋ํธ ๋ด๋ถ์ ์ํ๋ฅผ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์๊ณ , ์ํ์ ์์กดํ๋ UI๊ฐ ์๋์ผ๋ก ์ ๋ฐ์ดํธ๋์ด ๋์ ์ธ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ ์ ์๋ค. ์ด๋ฌํ ํน์ฑ์ React ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์์ฑ์ ๋์ด๋ ๋ฐ ์ค์ํ ์ญํ ์ ํ๋ค.
'๐๏ธWeb > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] ๋ฆฌ์กํธ - ํจ์ ์ปดํฌ๋ํธ ์ ์์ ์ฌ์ฉ (0) | 2024.04.27 |
---|---|
[React] ๋ฆฌ์กํธ - ๋น๋ ๋ฐ ๋ฐฐํฌ (0) | 2024.04.27 |
[React] ๋ฆฌ์กํธ - React๊ธฐ๋ณธ ๊ตฌ์กฐ ๋ฐ ํ์ผ ์ญํ (0) | 2024.04.27 |
[React] ๋ฆฌ์กํธ - ํ๊ฒฝ์ค์ (create-react-app) (1) | 2024.04.27 |
[React] ๋ฆฌ์กํธ - JSX๋? (0) | 2024.04.23 |