반응형
Q. 아래 코드 중 .diary 영역을 function()을 이용하여, 컴포넌트화 해보자.
import './App.scss';
function App() {
let title = 'Blog';
function thisYear(){
let now = new Date();
return now.getFullYear();
}
return (
<div className="App">
<header>
<h1 className="nav">
{ title }
{ thisYear() }
</h1>
</header>
<div className="diary">
<h2>제목</h2>
<p>날짜</p>
<p>상세내용</p>
</div>
</div>
);
}
export default App;
A. 컴포넌트 function의 첫 문자는 대문자!
1. 먼저 function()을 생성하여, <App>처럼 함수에 컴포넌트를 담는다. 이전글에서 설명했듯이, return() 바로 안에는 한 개 이상의 태그가 들어갈 수 없다. 전체를 감싸는 태그, 하나만 삽입되어야 한다(역시, 만약 의미없는 태그가 늘어나는 것이 싫다면, <></>을 이용할 수 있다)
function Diary(){
return(
<div className="diary">
<h2>제목</h2>
<p>날짜</p>
<p>상세내용</p>
</div>
)
}
2. 원하는 위치에 <함수명>을 삽입한다.
<Diary></Diary>
<Diary /> <!-- 축약형 -->
import './App.scss';
function App() {
let title = 'Blog';
function thisYear(){
let now = new Date();
return now.getFullYear();
}
return (
<div className="App">
<header>
<h1 className="nav">
{ title }
{ thisYear() }
</h1>
</header>
<Diary />
</div>
);
}
function Diary(){
return(
<div className="diary">
<h2>제목</h2>
<p>날짜</p>
<p>상세내용</p>
</div>
)
}
export default App;
반응형
'React (old ver) > basic' 카테고리의 다른 글
Toggle: 중괄호{ } 안 if는 안되니, 삼항연산자를 이용하자. (0) | 2021.10.29 |
---|---|
Component 2, 파일 분리 (모듈화) (0) | 2021.10.29 |
state를 이용한 데이터 바인딩 (0) | 2021.10.29 |
JSX로 html 작성하기 (0) | 2021.10.29 |
App.js가 메인 페이지 (0) | 2021.10.29 |
댓글