<aside> ๐๐ฟ props ๋ฐ์์ค๊ธฐ
ํจ์์ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์์์ ์ฌ์ฉํ ์ ์๋ค.
</aside>
// MyComponent.js
const MyComponent = props => {
return <div>์ ์ด๋ฆ์ {props.name}์
๋๋ค.</div>
}
// App.js
const App = () => {
return <MyComponent name={'๋จ๊ถ์ฒ '} />
}
<aside> ๐๐ฟ props์ ๊ธฐ๋ณธ๊ฐ ์ง์
defaultProps๋ก ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ ์ ์๋ค.
</aside>
MyComponents.defaultProps = {
name: "์ฒ ",
};
<aside> ๐๐ฟ Children
ํ๊ทธ ์ฌ์ด์ ๋ด์ฉ์ ๋ณด์ฌ์ฃผ๋ prop์ด๋ค
</aside>
const MyComponents = (props) => {
return (
<>
<div>์๋
ํ์ธ์ ์ ์ด๋ฆ์ {props.name}์
๋๋ค.</div>
<div>children ๊ฐ์ {props.children}์
๋๋ค.</div>
</>
);
};
const App = () => {
return (
<MyComponents name={"์ฒ "}>
๋ฆฌ์กํธ
</MyComponents>
);
};
<aside> ๐๐ฟ ๊ตฌ์กฐ๋ถํดํ ๋น์ผ๋ก props ์ถ์ถํ๊ธฐ.
์์์ name์ด๋ children ์์ props๋ฅผ ๋ถํ์ ์ฌ์ฉํ๋๋ฐ,
๊ตฌ์กฐ๋ถํดํ ๋น์ ์ด์ฉํ๋ฉด name, children์ ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์๋ค.
</aside>
const MyComponents = ({ name, children, favoriteNumber }) => {
return (
<>
<div>์๋
ํ์ธ์ ์ ์ด๋ฆ์ {name}์
๋๋ค.</div>
<div>children ๊ฐ์ {children}์
๋๋ค.</div>
<div>์ ๊ฐ ์ข์ํ๋ ์ซ์๋ {favoriteNumber}์
๋๋ค.</div>
</>
);
};
<aside> ๐๐ฟ proptype์ ํตํ props ๊ฒ์ฆํ๊ธฐ
props์ ํ์ ์ ์ง์ ํ ์ ์๋ค.
isRequired๋ฅผ ์ฌ์ฉ์ ํ์๋ก ์ ๋ ฅ๋ฐ์์ผํ๋ props๋ก ์ง์ ํ ์ ์๋ค.
</aside>
MyComponents.propTypes = {
name: PropTypes.string,
favoriteNumber: PropTypes.number.isRequired,
};
<aside> ๐๐ฟ PropType์ ์ข ๋ฅ
๋ ๋ง์ PropType์ ์ข ๋ฅ๊ฐ ์์ผ๋ ๊ณต์ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ฌ ์ฌ์ฉํ์.
</aside>