๐กReact State & Props
Props
ํน์ง
- ์ปดํฌ๋ํธ์ ์์ฑ(property)์ ์๋ฏธ
- ์ฑ๋ณ์ด๋ ์ด๋ฆ์ฒ๋ผ ๋ณํ์ง ์๋ ์ธ๋ถ๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ๊ฐ์ผ๋ก, ์ฝ๊ธฐ ์ ์ฉ์ด๋ฉฐ ๊ฐ์ฒด์ ํํ๋ฅผ ๊ฐ์ง๋ค.
- ๋ถ๋ชจ ์ปดํฌ๋ํธ(์์ ์ปดํฌ๋ํธ)๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ๊ฐ์ผ๋ก,
React ์ปดํฌ๋ํธ๋ JavaScript ํจ์์ ํด๋์ค๋ก,
props๋ฅผ ํจ์์ ์ ๋ฌ์ธ์์ฒ๋ผ ์ ๋ฌ๋ฐ์ ํ๋ฉด์ ์ด๋ป๊ฒ ํ์๋๋์ง๋ฅผ ๊ธฐ์ ํ๋ React ์๋ฆฌ๋จผํธ๋ฅผ ๋ฐํํ๋ค.
๋ฐ๋ผ์, ์ปดํฌ๋ํธ๊ฐ ์ต์ด ๋ ๋๋ง๋ ๋ ํ๋ฉด์ ์ถ๋ ฅํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ์ด๊ธฐ๊ฐ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
How to use props
1. ํ์ ์ปดํฌ๋ํธ์ ์ ๋ฌํ๊ณ ์ ํ๋ ๊ฐ(data)๊ณผ ์์ฑ์ ์ ์
2. props๋ฅผ ์ด์ฉํ์ฌ ์ ์๋ ๊ฐ๊ณผ ์์ฑ์ ์ ๋ฌ
3. ์ ๋ฌ๋ฐ์ props๋ฅผ ๋ ๋๋ง
State
ํน์ง
- ์ปดํฌ๋ํธ ๋ด๋ถ์์ ๋ณํ ์ ์๋ ๊ฐ, ์ฆ ์ํ๋ React state๋ก ๋ค๋ค์ผํ๋ค.
State hook, useState
1.useState ์ฌ์ฉ๋ฒ
1) useState
๋ฅผ ์ด์ฉํ๊ธฐ ์ํด์๋ React๋ก๋ถํฐ useState
๋ฅผ ๋ถ๋ฌ์์ผํ๋ค.
import { useState } from "react";
2) ์ดํ useState
๋ฅผ ์ปดํฌ๋ํธ ์์์ ํธ์ถํ๋ค.
function CheckboxExample() {
const [state ์ ์ฅ ๋ณ์, state ๊ฐฑ์ ํจ์] = useState(์ํ ์ด๊ธฐ ๊ฐ);
useState
๋ฅผ ํธ์ถํ๋ค๋ ๊ฒ์ "state"๋ผ๋ ๋ณ์๋ฅผ ์ ์ธํ๋ ๊ฒ๊ณผ ๊ฐ์ผ๋ฉฐ, ์ด ๋ณ์์ ์ด๋ฆ์ ์๋ฌด ์ด๋ฆ์ผ๋ก ์ง์ด๋ ๋๋ค.
- ์ผ๋ฐ์ ์ธ ๋ณ์๋ ํจ์๊ฐ ๋๋ ๋ ์ฌ๋ผ์ง์ง๋ง, state ๋ณ์๋ React์ ์ํด ํจ์๊ฐ ๋๋๋ ์ฌ๋ผ์ง์ง ์๋๋ค.
useState
๋ฅผ ํธ์ถํ๋ฉด ๋ฐฐ์ด์ ๋ฐํํ๋๋ฐ, ๋ฐฐ์ด์ 0๋ฒ์งธ ์์๋ state ๋ณ์์ด๊ณ , 1๋ฒ์งธ ์์๋ ์ด ๋ณ์๋ฅผ ๊ฐฑ์ ํ ์ ์๋ ํจ์์ด๋ค.
useState
์ ์ธ์๋ก ๋๊ฒจ์ฃผ๋ ๊ฐ์ state์ ์ด๊ธฐ๊ฐ์ด๋ค.
- state ๋ณ์์ ์ ์ฅ๋ ๊ฐ์ ์ฌ์ฉํ๋ ค๋ฉด JSX ์๋ฆฌ๋จผํธ ์์ ์ง์ ๋ถ๋ฌ์ ์ฌ์ฉํ๋ค.
2. state hook ์ฌ์ฉ ์ ์ฃผ์์
- React ์ปดํฌ๋ํธ๋ state๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์๋กญ๊ฒ ํธ์ถ๋๊ณ , ๋ฆฌ๋ ๋๋ง ๋๋ค.
- React state๋ ์ํ ๋ณ๊ฒฝ ํจ์ ํธ์ถ๋ก ๋ณ๊ฒฝํด์ผ ํ๋ฉฐ, ๊ฐ์ ๋ก ๋ณ๊ฒฝ์ ์๋ํ๋ ๊ฒฝ์ฐ, ๋ฆฌ๋ ๋๋ง์ด ๋์ง ์๋๋ค๊ฑฐ๋, state๊ฐ ์ ๋๋ก ๋ณ๊ฒฝ๋์ง ์๋๋ค.
- ์์ :
state.push(1)
, state[1] = 2
, state = 'wrong state';