
โจ ๋ค์ด๊ฐ๋ฉฐ
์ด์ ํฌ์คํ ์์ const ๋ผ๋ ํค์๋์ ๋ํด์ ์์๋ณด์๋๋ฐ,
๋ณดํต ํ๋ก ํธ์๋ ์ฝ๋๋ฅผ ์ง๋ค ๋ณด๋ฉด const [..., ...] ํํ๋ฅผ ๋ ์์ฃผ ๋ณด๊ฒ ๋๋ค.
์๋ฅผ ๋ฐฐ์ด ๊ตฌ์กฐ ๋ถํด ํ ๋น (Array Destructuring) ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค๋๋ฐ,
ํนํ useState ๋ ํจ๊ป ์ฌ์ฉํ ๋ ์์ ๊ตฌ์กฐ๊ฐ ์์ฃผ ๋ณด์ด๋ ๊ฒ ๊ฐ๋ค.
๊ทธ๋ฌ๋ ํ๋ก ํธ์๋๋ฅผ ์ฒ์ ๊ณต๋ถํ๊ธฐ ์์ํ ๋ด ์ ์ฅ์์๋
๋ญ๊ฐ ๋ญ์ง ๋ชจ๋ฅด๊ฒ ๊ธฐ ๋๋ฌธ์ ์ด๋ฒ ํฌ์คํ ์์ ํ๋์ฉ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค.
๐ฏ const [a, b] = useState ( ... )
๋ณดํต React์์๋ ์ํ๋ฅผ ๊ด๋ฆฌํ ๋ useState๋ฅผ ์๋์ ๊ฐ์ด ์ฌ์ฉํ๋ค.
const [count, setCount] = useState(0);
์ด๋ฒ ํฌ์คํ ์์๋ ์ด๊ฑฐ๋ฅผ ํ๋์ฉ ๋ฏ์ด์ ์์๋ณด๊ณ ์ ํ๋ค. ๐
๐งฉ useState๋
useState๋ React ์ปดํฌ๋ํธ ์์์ ์ํ๋ฅผ ๋ง๋ค ์ ์๊ฒ ํด์ฃผ๋ ํจ์์ด๋ค.
const [state, setState] = useState(initialValue);
- state ๐๐ป ํ์ฌ ์ํ ๊ฐ (์ฝ๊ธฐ ์ ์ฉ)
- setState ๐๐ป ์ํ๋ฅผ ๋ฐ๊ฟ์ฃผ๋ ํจ์ (๊ฐ์ ๋ฐ๊พธ๊ณ , ํ๋ฉด๋ ๋ค์ ๊ทธ๋ ค์ค)
โจ ์์
import { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return (
<div>
<p>ํ์ฌ ์นด์ดํธ: {count}</p>
<button onClick={() => setCount(count + 1)}>์ฆ๊ฐ</button>
</div>
);
}
- const [count, setCount] ๐๐ป ๋ฐฐ์ด ๊ตฌ์กฐ ๋ถํด ํ ๋น
- useState(0) ๐๐ป count์ ์ด๊ธฐ ๊ฐ์ 0
- count ๐๐ป ํ์ฌ ์ซ์ ์ํ๊ฐ
- setCount ๐๐ป ์ซ์ ์ํ๋ฅผ ๋ฐ๊ฟ์ฃผ๋ ํจ์ (setCount(3) ํ๋ฉด count๋ 3์ด ๋จ)
๐ค ๋ฐฐ์ด ๊ตฌ์กฐ ๋ถํด๋ฅผ ์ฌ์ฉํ๋ ์ด์
๋ฐฐ์ด ๊ตฌ์กฐ ๋ถํด๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ์ด์ ๋
useState ํจ์๊ฐ ๋ฐฐ์ด์ ๋ฐํํ๊ธฐ ๋๋ฌธ์ด๋ค
const result = useState(0);
console.log(result);
// ๐ [0, ƒ] => [ํ์ฌ ๊ฐ, ์
๋ฐ์ดํธ ํจ์]
๋ฐ๋ผ์ ์๋์ ๊ฐ์ด ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
const [value, setValue] = useState(0);
์์ ์ฝ๋๊ฐ ๋ฐ๋ก ๋ฐฐ์ด ๊ตฌ์กฐ ๋ถํด ํ ๋น์ด๋ผ๋ ๋ฌธ๋ฒ์ธ๋ฐ,
์ฒซ ๋ฒ์งธ ๊ฐ์ ํ์ฌ ์ํ,
๋ ๋ฒ์งธ ๊ฐ์ ๊ทธ ์ํ๋ฅผ ๋ฐ๊พธ๋ ํจ์๋ก ๋๋์ด์ ์ฐ๋ ๊ฒ์ด๋ค.
๐ก ๋ฐฐ์ด ๊ตฌ์กฐ ๋ถํด ํ ๋น ์ ๋ฆฌ
const [a, b] = [1, 2];
// a = 1
// b = 2
const [name, age] = ['์์ฐ', '24'];
// name = "์์ฐ"
// age = 24
๋ง์ง๋ง์ผ๋ก ํ ๋ฒ ๋ ์ ๋ฆฌํ์๋ฉด,
์์ ์์ ์ฝ๋์ ๊ฐ์ด ๋ฐฐ์ด์ ์ฌ๋ฌ ๋ณ์๋ก ๋ถํดํด์ ์ธ ์ ์๋ ๊ฒ์ด ๋ฐฐ์ด ๊ตฌ์กฐ ๋ถํด ํ ๋น์ด๋ค.
๐ ๋ง๋ฌด๋ฆฌ ์ ๋ฆฌ
| ๋ฌธ๋ฒ | ์ค๋ช |
| const [x, y] = [1, 2] | ๋ฐฐ์ด ๊ตฌ์กฐ ๋ถํด ํ ๋น |
| const [state, setState] = useState(initialValue) | ์ํ ๊ฐ๊ณผ ๋ณ๊ฒฝ ํจ์๋ฅผ ๋์์ ๋ฐ๋ ๋ฐฉ๋ฒ |
| useState๋ ๋ฐฐ์ด์ ๋ฆฌํดํจ | [ํ์ฌ ๊ฐ, ํ์ฌ ๊ฐ์ ๋ฐ๊ฟ์ฃผ๋ ํจ์] ํํ |
'๐ป๊ณต๋ถ ๊ธฐ๋ก > ๐ Frontend' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Frontend] localStorage์ Cookies (0) | 2025.06.28 |
|---|---|
| [Frontend] Zustand (0) | 2025.06.21 |
| [Frontend] ํ์ ์คํฌ๋ฆฝํธ์์ const ๋? (0) | 2025.06.16 |
| [Frontend] ์ปดํฌ๋ํธ๋ (1) | 2025.06.16 |
| [Frontend] Mock์ด๋ (0) | 2025.06.14 |