๋ฆฌ์กํธ ์ปดํฌ๋ํธ๊ฐ ๊ฐ์ง props, state ๊ฐ๋ ์ ๋ํด ์ ํ์๊ฐ ์๋ค.
props๋ ์ปดํฌ๋ํธ ์ธ๋ถ์์ ๋ฐ์ ์ ์๋ ๊ฐ, ๋ถ๋ชจ๋ก๋ถํฐ ์์์๊ฒ ๋จ๋ฐฉํฅ ๋ฐ์ดํฐ ํ๋ฆ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค.
๋ถ๋ชจ-์์ ์ปดํฌ๋ํธ๊ฐ ์๋๋ฐ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํด์ผํ๋๊ฒฝ์ฐ, context๋ฅผ ์ฌ์ฉํ๋ค. props์ฐ๊ธฐ ์๊ณ ๋ ์ปดํฌ๋ํธ ์ฌ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ์ ์๋ค.
state๋ ๋ด๋ถ์์ ์ ์ฅํ๋ ๋ฐ์ดํฐ์ด๋ค. ๋ฐ๋์ ํด๋น ์ปดํฌ๋ํธ ์์ ๊ณผ ๊ทธ ํ์์๋ง ์ํฅ์ ๋ฏธ์น๋ค.
const [count, setCount] = useState(0)
1. make prop, give it a value
< Greeting text={'yo'}/>
2. Use prop value
function Gretting(props){
return <h1>{props.text}</h1>
}
*props๋ ์ค๋ธ์ ํธ์,๋ค๋ฅธ ์ปดํฌ๋ํธ๋ค์์ ๊ฐ์ ๋ฐ์ ์ ์์.
prop์๋ ์๋ฌด๊ฑฐ๋ ํ์ฑํ ์ ์๋ค.
children prop -
<Parent /> -> expand tags
<Parent>
<Child /> -- ์ด๊ฒ์ด children์ด๋ค.
</Parent>
function (Parent(props)){
return <div>{props.children}</div>
}
children props๋ layout components์์ ์ ์ฉํ๊ฒ ์ฐ์
์์์ฝ๋
<p>์์๊ฐ {CHILDREN}์ ์ ๋ฌ๋๋ค.
ํ ์ ์ฌ์ฉํด์ ๋ณ๊ฒฝํ ์ ์๋๊ฒ์ ๋ค์์ ์ดํด๋ณด๊ฒ ๋ค.
//Container๋ ๋นจ๊ฐ ๋ฐ์ค์์ ์ ๋ชฉ๊ณผ ์์ ์์๋ฅผ ํ์ํ๋ค.
const Container = (props: {title: string; children: React.ReactElement }) => {
const { titme, children } = props
return (
<div style={{ background:red}}>
<span>{title}</span>
<div>{children}</div>
</div>
)
};
const Parent = () => {
return (
<Container title='Hello'>
<p>๋ฐฐ๊ฒฝ์ผ๋ก ๋๋ฌ์์ธ ๋ถ๋ถ</p>
</Container>
)
}
export default Parent;
'nextjs,tailwindcss,vercel' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฆฌ์กํธ, nextJS] state์ useSate ๊ฐ๋ ๊ณผ ์ฌ์ฉ๋ฒ (0) | 2024.06.08 |
---|---|
๋ฆฌ์กํธ key props (0) | 2024.06.08 |
tailwind css ์์ ์์๋ค ๋ชจ๋ ๊ฐ์ด๋ฐ ์ ๋ ฌํ๊ธฐ (1) | 2024.06.04 |
๊ฐ๋น์์์ ๋๋ฉ์ธ ์ฌ์ google search console ๋ฑ๋กํ๊ธฐ (0) | 2024.06.02 |
๊ฐ๋น์์์ ๋๋ฉ์ธ ์ฌ์ vercel์ ์ ์ฉํ๊ธฐ (1) | 2024.06.02 |