์ปดํฌ๋ํธ ๊ฐ๋ฐ์ ์์ ๊ฐ๋ ์ ๊ฐ๋จํ ์ค๋ช ํด๋ณด์. ์ด์ ์ ์ฐ๋ฆฌ๋ html๋ก ๋ค์๊ณผ ๊ฐ์ด ์ฝ๋ฉ์ ํ ์ ์์๋ค.
<html>
<body>
<header>
<h1>WEB></h1>
world wide web!
</header>
<nav>
<ul>
<li><a href="1.html">HTML</a></li>
</ul>
</nav>
</body>
</html>
ํ์ง๋ง ๋ง์ฝ ์ header๋ถ๋ถ์ ์ฝ๋๊ฐ 1000๋ง ์ค์ด๋ผ๋ฉด? ์ ๊ฑธ ๋ค index.html ํ์ผ์ ๋ฃ์ด๋ฒ๋ฆฌ๋ฉด ๋์กํ๊ณ ๋ณด๊ธฐ ์ด๋ ค์ ์ง๊ฒ ์ง? ๊ทธ๋์ ์ด๊ฒ์ ์ผ์ข ์ ์นํ์ ํด์ค๋ค. <header>~</header>๋ถ๋ถ์ ์ฝ๋๋ฅผ ์๋ฅผ ๋ค๋ฉด <Subject></Subject> ํ๊ทธ ํ ์ค๋ก ์นํ์ ํด์ฃผ๋ ๊ฒ์ด๋ค.
App.js ํ์ผ์ ์ด์ด ๋ค์๊ณผ ๊ฐ์ด class ๋ฅผ ์ ์ธํด์ค๋ค.
class Subject extends Component{
render(){
return (
<header>
<h1>Web</h1>
world wide web!
</header>
);
}
}
๊ทธ๋ฆฌ๊ณ ์๋์ ์๋ App class ์ฝ๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๋ฐ๊ฟ์ฃผ๋ฉด!
class App extends Component {
render(){
return (
<div className="App">
<Subject></Subject>
</div>
);
}
}
npm start๋ฅผ ํตํด localhost:3000์ ์ด์ด ํ์ธํด๋ณด์!
F12๋ฅผ ๋๋ฌ ๊ฐ๋ฐ์์ฐฝ์ผ๋ก ํ์ธํด๋ด๋ ์์ฃผ ์ ์ ์ฉ๋์์์ ์ ์๊ฐ ์๋น
*์ฐธ๊ณ ๋ก ์ ์ธ์ด๋ javascript๊ฐ ์๋๋ค. ํ๊ทธ๋ฅผ ๊ทธ๋๋ก ์ฐ๊ณ ์๊ธฐ ๋๋ฌธ! ์ด ์ธ์ด๋ฅผ jsx๋ผ๊ณ ๋งํ๋ค.
์ฐ๋ฆฌ๊ฐ jsx๋ก ์ฝ๋ฉ์ ํ๋ฉด ์ด create-react-app์ด ์์์ javascript๋ก ๋ณํํด์ค๋ค.
์, ์ด๋ ๊ฒ ์ปดํฌ๋ํธ์ ๋ํด ์์๋ดค๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๋ ํ ๋ฐ์ง ๋ ๋์๊ฐ
<Subject title="WEB" sub="world wide web!"></Subject>
์ด๋ฐ์์ผ๋ก ์ง์ ํด์ Subject๋ผ๋ ์ปดํฌ๋ํธ๋ฅผ ๋ณด๋ค ๋ง์ ์ํฉ์์ ๋ค์ํ๊ฒ ์ฌ์ฌ์ฉํ๊ณ ์ถ์ ์ ์๋ค.
์ด๋ฐ๊ฒ ๊ฐ๋ฅํด์ง๋ค๋ฉด ์ฐ๋ฆฌ๋ ์ ํ ์คํธ๊ฐ ์๋๋ผ ๋ค๋ฅธ ํ ์คํธ๋ผ๋ ๊ฐ์ ์์์ผ๋ก ํธํ๊ฒ ๋ง๋ค ์ ์์ ๊ฒ์ด๋ค.
class Subject extends Component{
render(){
return (
<header>
<h1>{this.props.title}</h1>
{this.props.sub}
</header>
);
}
}
class App extends Component {
render(){
return (
<div className="App">
<Subject title="WEB" sub="world wide web!"></Subject>
</div>
);
}
}
์ด๋ ๊ฒ Subject ํ๊ทธ ์์ ํ ์คํธ๊ฐ ๋ค์ด๊ฐ ์๋ฆฌ์ {this.props.'์ด๋ฆ'} ์ ์ง์ ํด์ฃผ๋ฉด, ์์์ ๋งํ ๋ฐฉ์์ ์ฝ๋ฉ์ด ๊ฐ๋ฅํด์ง๋ค!
'๐ก๐ธ๐ธ๐ถ3:๐น๐๐๐๐๐๐๐น > ๐ก๐ฅ๐ข๐ค:๐ ๐๐ถ๐ธ๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] 1. ๋ฆฌ์กํธ๋? + ๊ฐ๋ฐ ํ๊ฒฝ ์ค์ (0) | 2020.12.31 |
---|