개발의 시작과 끝
2021.02.08 / React - Component 본문
생활코드 11강 - 컴포넌트 만들기
리액트에서 컴포넌트는 웹 문서에서 어떠한 내용을 보여주기 위한
기본적인 단위로 자바스크립트 함수와 흡사하다고 보면 된다.
또한 이러한 컴포넌트는 props를 입력으로 받아서 리액트 요소를 반환하는 형태로 동작한다.
컴포넌트를 바라보는 첫 번째 시각은 정리정돈이다.
컴포넌트의 이름에만 집중하게 함으로써 복잡도를 획기적으로 줄일 수 있다.
그렇게 되면 더 많은 복잡도에 도전할 수 있는 여지가 생기게 된다.
정리 전
<html>
<body>
<header>
<h1>WEB</h1>
world wide web!
</header>
<nav>
<ul>
<li><a href="1.html">HTML</a></li>
<li><a href="2.html">CSS</a></li>
<li><a href="3.html">JavaScript</a></li>
</ul>
</nav>
<article>
<h2>HTML</h2>
HTML is HyperText Markup Language.
</article>
</body>
</html>
정리 후
class Subject extends Component {
render() {
return (
<header>
<h1>WEB</h1>
world wide web!
</header>
);
}
}
class TOC extends Component {
render() {
return (
<nav>
<ul>
<li><a href="1.html">HTML</a></li>
<li><a href="2.html">CSS</a></li>
<li><a href="3.html">JavaScript</a></li>
</ul>
</nav>
);
}
}
class Content extends Component {
render() {
return(
<article>
<h2>HTML</h2>
HTML is HyperText Markup Language.
</article>
);
}
}
class App extends Component {
render() {
return (
<div className="App">
<Subject></Subject>
<TOC></TOC>
<Content></Content>
</div>
);
}
}
위의 코드는 다르지만 결과물은 동일하다.
참고
- www.youtube.com/watch?v=HZlH8olDeAQ&list=PLRx0vPvlEmdCED62ZIWCbI-6G_jcwmuFB&index=4
- www.youtube.com/watch?v=wzii1e_QWgc&list=PLuHgQVnccGMCRv6f8H9K5Xwsdyg4sFSdi&index=11
- www.youtube.com/watch?v=J3WQKH35f0M&list=PLuHgQVnccGMCRv6f8H9K5Xwsdyg4sFSdi&index=12
'리액트' 카테고리의 다른 글
2021.02.09 / React - 이벤트 (0) | 2021.02.09 |
---|---|
2021.02.09 / React - render (0) | 2021.02.09 |
2021.02.09 / React - key (0) | 2021.02.09 |
2021.02.09 / React - state (4) | 2021.02.09 |
2021.02.09 / React - props (0) | 2021.02.09 |