๋ถ๋ชจ component์์ ์ฐ๋ state๋ฅผ ์์์๊ฒ ์ ์กํ๋ ๋ฐฉ๋ฒ
์ฃผ์*
๋ถ๋ชจ -> ์์ ์ปดํฌ๋ํธ๊ฐ์๋ง ๊ฐ๋ฅ
โ ์์ -> ๋ถ๋ชจ ๋ถ๊ฐ๋ฅ โ
โ ํ์ ๋ผ๋ฆฌ ์ปดํฌ๋ํธ๊ฐ์๋ ๋ถ๊ฐ๋ฅ โ
๊ทผ๋ฐ ์ด๊ฑฐ ๋ฐ๋์ state๋ง ์ ์กํ ์ ์๋๊ฑด ์๋๋ผ๊ณ ํ๋ค
ํจ์ ํ๋ผ๋ฏธํฐ ๋ฌธ๋ฒ์ด๋ ๋๊ฐ์ด, props ํ๋ ๋ง๋ค๊ณ ๊ทธ ์๋ฆฌ์ ์ด๊ฒ๋ ๋ฃ์ด๋ณด๊ณ ์ ๊ฒ๋ ๋ฃ์ด๋ณด๋ฉฐ ๋น์ทํ ์ปดํฌ๋ํธ ์ฌ๋ฌ๊ฐ ๋ง๋๋ ๊ฒ๋ ๊ฐ๋ฅ!!?!
import {useState} from 'react'
function App(){
let [food,setFood]=useState(['์ฐ๋','๊น๋ฐฅ'])
return(
<div>
<Food food={food}/>
<Food food="์๋
๋๋ ํ๋กญ์ค์ผ"/>
<Food food={food} color="orange"/>
</div>
)
}
function Food(props){
return(
<div style={{backgroundColor:props.color}}>
<h4>{props.food}</h4>
</div>
)
}
์ฌ์ฉ์๊ฐ ์กฐ์ํ ๋ ํํ๊ฐ ๋ฐ๋๋ ๋ชจ๋ฌ์ฐฝ, ํญ, ์๋ธ๋ฉ๋ด, ํดํ, ๊ฒฝ๊ณ ๋ฌธ ๋ฑ๋ฑ์ UI๋ค
์ฐ๋/๊น๋ฐฅ/๋๊น์ค ๋๋ฅด๋ฉด ์๋์ ๋นจ๊ฐ/๋ ธ๋์นธ์๋ ํด๋น๊ธ์๊ฐ ๋จ๊ฒ ํ๊ณ ์ถ๋ค.
function App(){
const [food,setFood] = useState(["์ฐ๋", "๊น๋ฐฅ", "๋๊น์ค"]);
const [title, setTitle] = useState(0);
return(
<div>
{food.map((a, i) => {
return (
<div>
<h4
onClick={() => {
setTitle(i);
}}
>
{a}
</h4>
</div>
);
})}
<FoodModal food={food} title={title}/>
</div>
}
function FoodModal(props){
return(
<div>
<h4>{props.food[props.title]}</h4>
</div>)
}
์ง ์์ฑ์ฐ