props
๋ผ๊ณ ์ฐ๊ณ , ๋ฐ์์์ผํ๋ ๋ฐ์ดํฐ๋ {props.state์ด๋ฆ}
์ผ๋ก ์ฌ์ฉํ๋ค.๐ props ์ฌ์ฉ๋ฐฉ๋ฒ
1)<์์์ปดํฌ๋ํธ ์ ์กํ ์ด๋ฆ={state๋ช }>
์ด๋ ๊ฒ ์ฌ์ฉํ ํ
2) ์์์ปดํฌ๋ํธ ์ ์ธํ๋ function ์์ ํ๋ผ๋ฏธํฐ(props)๋ฅผ ํ๋ ๋ง๋ค์ด์ฃผ๊ธฐ.
3) ์์์ปดํฌ๋ํธ ํจ์ ๋ด์์ state๊ฐ์ ๋ฐ์์์ผ ํ๋ ๋ฐ์ดํฐ ์์{props.state์ด๋ฆ}
์ผ๋ก ์ฌ์ฉํ๋ค.
// Main Component(App.js) = ๋ถ๋ชจ ์ปดํฌ๋ํธ import Modal from './Component/Modal.js'; // importํด์ ๋ถ๋ฌ์ค๊ธฐ function App (){ let [title, setTitle] = useState(['์ค๋ฆด๋ฌ ์ํ ์ถ์ฒ', '๊ฐ๋จ ์ฐ๋๋ง์ง', '๋ฆฌ์กํธ๋ ํ']); return ( <div> ... // <Modal ์ ์กํ ์ด๋ฆ={state๋ช }> <Modal title={title}></Modal> // state๊ฐ์ ์ ๋ฌ (๋ณ์๋ช ={state์ด๋ฆ}) </div> ) } // Modal Component(Modal.js) = ์์์ปดํฌ๋ํธ function Modal(props){ return ( <div className="modal"> // props.์ ์กํ ์ด๋ฆ <h2>์ ๋ชฉ { props.title[0] }</h2> // ์ค๋ฆด๋ฌ ์ํ ์ถ์ฒ <p>๋ ์ง</p> <p>์์ธ๋ด์ฉ</p> </div> <div className="modal"> // props.์ ์กํ ์ด๋ฆ <h2>์ ๋ชฉ { props.title[1] }</h2> // ๊ฐ๋จ ์ฐ๋๋ง์ง <p>๋ ์ง</p> <p>์์ธ๋ด์ฉ</p> </div> // props.์ ์กํ ์ด๋ฆ <h2>์ ๋ชฉ { props.title[2] }</h2> // ๋ฆฌ์กํธ ๋ ํ <p>๋ ์ง</p> <p>์์ธ๋ด์ฉ</p> </div> ) }
1) props๋ <Modal ์ด๋ฐ๊ฑฐ={์ด๋ฐ๊ฑฐ} ์ ๋ฐ๊ฑฐ={์ ๋ฐ๊ฑฐ}> ์ด๋ ๊ฒ 10๊ฐ 100๊ฐ 1000๊ฐ ๋ฌดํํ ์ ์ก์ด ๊ฐ๋ฅ.
2) props๋ผ๋ ํ๋ผ๋ฏธํฐ์ ์ ์กํ ๋ชจ๋ props ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ์๋ค. props.title
์ด๋ฐ ์์ผ๋ก ์ํ๋ ๊ฒ๋ง ๊บผ๋ด์ฐ๋ฉด ๋๋ค.
3) props ์ ์กํ ๋ ๊ผญ {} ์ค๊ดํธ๋ก ์ ์กํด์ผํ๋๊ฑด ์๋๋ค.
<Modal ๊ธ์ ๋ชฉ={๋ณ์๋ช
}>
์ด๋ ๊ฒ ๋ณ์๋ช
์ ๋ฃ๊ณ ์ถ์ผ๋ฉด ์ค๊ดํธ๋ฅผ ์ฐ๊ณ ,
<Modal ๊ธ์ ๋ชฉ=โ๊ฐ๋จ์ฐ๋๋ง์งโ>
์ด๋ ๊ฒ ์ผ๋ฐ ํ
์คํธ๋ฅผ ์ ์กํ๊ณ ์ถ์ผ๋ฉด ๋ฐ์ดํ ์จ๋ ๋๋ค.
// Main Component(App.js) = ๋ถ๋ชจ ์ปดํฌ๋ํธ import Modal from './Component/Modal.js'; // importํด์ ๋ถ๋ฌ์ค๊ธฐ function App (){ let [title, setTitle] = useState(['์ค๋ฆด๋ฌ ์ํ ์ถ์ฒ', '๊ฐ๋จ ์ฐ๋๋ง์ง', '๋ฆฌ์กํธ๋ ํ']); let [๋๋ฅธ์ ๋ชฉ, ๋๋ฅธ์ ๋ชฉ๋ณ๊ฒฝ] = useState(0); return ( <div> // ์ด ๋ฒํผ์ ๋๋ฅด๋ฉด ๋๋ฅธ์ ๋ชฉ state๊ฐ 0์ด ๋จ <button onClick={()=>{ ๋๋ฅธ์ ๋ชฉ๋ณ๊ฒฝ(0) }}>๋ฒํผ1</button> // ์ด ๋ฒํผ์ ๋๋ฅด๋ฉด ๋๋ฅธ์ ๋ชฉ state๊ฐ 1์ด ๋จ <button onClick={()=>{ ๋๋ฅธ์ ๋ชฉ๋ณ๊ฒฝ(1) }}>๋ฒํผ2</button> // ์ด ๋ฒํผ์ ๋๋ฅด๋ฉด ๋๋ฅธ์ ๋ชฉ state๊ฐ 2๊ฐ ๋จ <button onClick={()=>{ ๋๋ฅธ์ ๋ชฉ๋ณ๊ฒฝ(2) }}>๋ฒํผ3</button> <Modal title={title} ๋๋ฅธ์ ๋ชฉ={๋๋ฅธ์ ๋ชฉ}></Modal> // state๊ฐ์ ์ ๋ฌ (๋ณ์๋ช ={state์ด๋ฆ}) </div> ) } // Modal Component(Modal.js) = ์์์ปดํฌ๋ํธ function Modal(props){ return ( <div className="modal"> // [props.๋๋ฅธ์ ๋ชฉ] ์์๋ 0, 1, 2๊ฐ ๋ค์ด์ด(๋ณํ๋ index์ฉ๋) <h2>์ ๋ชฉ { props.title[props.๋๋ฅธ์ ๋ชฉ] }</h2> // ์ค๋ฆด๋ฌ ์ํ ์ถ์ฒ <p>๋ ์ง</p> <p>์์ธ๋ด์ฉ</p> </div> ) }