728x90
참고자료: 유튜브 생활코딩 React 2022 개정판 https://www.youtube.com/playlist?list=PLuHgQVnccGMCOGstdDZvH41x0Vtvwyxu7
1. props 사용하기
html에 속성을 넣는 것처럼 리액트 코드에서도 속성을 사용해보자!
function App() {
return (
<div>
<Header title="REACT"></Header>
<Nav></Nav>
<Article></Article>
</div>
);
}
👉🏻Header에 title이라는 props에 REACT라는 값을 넣어보자
function Header(props) {
return(
<header>
<h1><a href='/'>{props.title}</a></h1>
</header>
)
}
👉🏻그리고 Header 컴포넌트에서 props로 인자를 받는다. 이 props를 활용하기 위해서는 중괄호로 묶어줘야 한다.
function Nav() {
return(
<nav>
<ol>
<li><a href='/read/1'>html</a></li>
<li><a href='/read/2'>css</a></li>
<li><a href='/read/3'>js</a></li>
</ol>
</nav>
)
}
👉🏻그럼 이제 Nav 컴포넌트도 prop를 이용해 바꿔보자!
function App() {
const topics = [
{id : 1, title : 'html', body : 'html is ...'},
{id : 2, title : 'css', body : 'css is ...'},
{id : 3, title : 'js', body : 'js is ...'},
]
return (
<div>
<Header title="WEB"></Header>
<Nav topics={topics}></Nav>
<Article title="Welcome~" body="Hello, WEB!"></Article>
</div>
);
}
👉🏻먼저 App에서 topics라는 리스트에 Nav에 들어갈 내용을 객체로 만들어 담아준다. 그리고 topics라는 props으로 넘겨준다!
function Nav(props) {
const lis = []
for (let i = 0; i < props.topics.length; i++) {
let t = props.topics[i]
lis.push(<li key={t.id}><a href={'/read/' + t.id}>{t.title}</a></li>)
}
return (
<nav>
<ol>
{lis}
</ol>
</nav>
)
}
👉🏻그리고 props를 for문에 돌리면서 lis라는 리스트에 넣어준다. 그리고 이 리스트를 return해주면 된다!
👉🏻리액트 특성상 props의 고유한 값으로 key값을 설정해주어야 한다.
728x90
'그 땐 Front했지 > 그 땐 React했지' 카테고리의 다른 글
[생활코딩/React] 2022개정판 | 6. 이벤트 (0) | 2022.05.02 |
---|---|
[생활코딩/React] 2022개정판 | 4. 컴포넌트 만들기 (0) | 2022.05.02 |
[생활코딩/React] 2022개정판 | 3.소스코드 수정방법 (0) | 2022.05.01 |
[생활코딩/React] 2022개정판 | 2.실습환경 구축 (0) | 2022.05.01 |
[생활코딩/React] 21.delete 구현 (0) | 2022.04.24 |