๐[React ์ฃผ์ ๊ฐ๋ ] 1. ์ปดํฌ๋ํธ, props
ํญ์ ๋๋ฌธ์๋ก ์์ํจ.
props
- react๊ฐ ์ฌ์ฉ์ ์ ์ ์ปดํฌ๋ํธ๋ก ์์ฑํ element๋ฅผ ๋ฐ๊ฒฌํ์ ๋, ํด๋น ์ปดํฌ๋ํธ์ ์ ๋ฌํ๋ ๋จ์ผ ๊ฐ์ฒด. (JSX ์ดํธ๋ฆฌ๋ทฐํธ์ ์์)
- ์ฝ๊ธฐ ์ ์ฉ.(์ปดํฌ๋ํธ ์์ฒด props๋ ์์ ํ๋ฉด ์๋๋ค.)
ex) Welcome ์ปดํฌ๋ํธ.
์ดํธ๋ฆฌ๋ทฐํธ name์ด props ๊ฐ์ฒด ์์ ํฌํจ๋์ด ์ ๋ฌ๋จ.function Welcome(props) { return <h1>Hello, {props.name}</h1>; } const element = <Welcome name="Sara" />; ReactDOM.render( element, document.getElementById('root') );```
์ปดํฌ๋ํธ ์ข ๋ฅ
ํด๋์ค ์ปดํฌ๋ํธ
- ์์ฃผ ์ฌ์ฉ๋์ง๋ ์๋๋ค๊ณ ๋ ํจ.
- javascriptํจ์ ์์ฑ
class Welcome extends React.Component {
render() {
return <h1>Hello, {this.props.name}</h1>;
}
}
ํจ์ ์ปดํฌ๋ํธ
- ES6 class
function Welcome(props) {
return <h1>Hello, {props.name}</h1>;
}
์ปดํฌ๋ํธ ๊ตฌ์ฑ
์ปดํฌ๋ํธ์์ ์ปดํฌ๋ํธ
์ต์์์ ๋จ์ผ App ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด์ง๋ง, ๊ธฐ์กด ์ฑ์ React๋ฅผ ํตํฉํ๋ ๊ฒฝ์ฐ์...
function Welcome(props) {
return <h1>Hello, {props.name}</h1>;
}
function App() {
return (
<div>
<Welcome name="Sara" />
<Welcome name="Cahal" />
<Welcome name="Edite" />
</div>
);
}
ReactDOM.render(
<App />,
document.getElementById('root')
);
์ปดํฌ๋ํธ ์ชผ๊ฐ๊ธฐ
- ์
function Comment(props) {
return (
<div className="Comment">
<div className="UserInfo">
<img className="Avatar"
src={props.author.avatarUrl}
alt={props.author.name}
/>
<div className="UserInfo-name">
{props.author.name}
</div>
</div>
<div className="Comment-text">
{props.text}
</div>
<div className="Comment-date">
{formatDate(props.date)}
</div>
</div>
);
}
- ํ
function Avatar(props) {
return (
<img className="Avatar"
src={props.user.avatarUrl}
alt={props.user.name}
/>
);
}
function UserInfo(props) {
return (
<div className="UserInfo">
<Avatar user={props.user} />
<div className="UserInfo-name">
{props.user.name}
</div>
</div>
);
}
function Comment(props) {
return (
<div className="Comment">
<UserInfo user={props.author} />
<div className="Comment-text">
{props.text}
</div>
<div className="Comment-date">
{formatDate(props.date)}
</div>
</div>
);
}
Class Component๊ฐ Functional Component๋ณด๋ค ๋ ๋ง์ ๊ธฐ๋ฅ์ ์ ๊ณต
Functional์ ์ด๋ฐ ๊ฒ๋ค์ ์ ๊ณตํ์ง ๋ชปํจ.
=> Functional Component์์๋ ํ ์ ์๊ฒ React Hook์ด ๋์ด.
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐[React ์ฃผ์ ๊ฐ๋ ] 1. ์ปดํฌ๋ํธ, props), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@eundms/ํด๋์ค-ํจ์-์ปดํฌ๋ํธ์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค