웹 개발/React 공부

[React] 05. props

내만 2022. 7. 25. 15:05
728x90
반응형

 

 

 

 

 

🙆‍♂️props


props를 활용하면 컴포넌트에 인자값을 넣어서 생성할 수 있습니다.

import React from 'react';
import './App.css';

function App() {
  const nav = [
    {id:1,title:"Hello"},
    {id:2,title:"World"}
  ]

  return (
    <div className="App">
      <Header></Header>
      <Nav nav={nav}></Nav>
      <Article title="Welcome" body="Hi, How are you?"></Article>
      <Article title="GoodBye" body="See you again"></Article>

    </div>
  );
}

function Header(){
  return (
    <header className='header'>
        <h3>Web</h3> 
    </header>
  )
}
function Nav(props){
  const list=[
  ]
  for(let i=0;i<props.nav.length; i++){
    let n = props.nav[i];
    list.push(<li key={n.id}>{n.title}</li>)
  }
  return (
    <nav className='nav'>
      <ol>
        {list}
      </ol>
    </nav>
  )
}
function Article(props){
  return (
    <div className='article'>
      <h3>{props.title}</h3>
      <p>{props.body}</p>
    </div>
  )
}

export default App;

전체 코드는 이렇습니다.

 

const nav = [
    {id:1,title:"Hello"},
    {id:2,title:"World"}
]
  
<Nav nav={nav}></Nav>

이렇게 nav 객체에 값이 있고 이 값을 Nav 컴포넌트로 넘기면

 

function Nav(props){
  const list=[
  ]
  for(let i=0;i<props.nav.length; i++){
    let n = props.nav[i];
    list.push(<li key={n.id}>{n.title}</li>)
  }
  return (
    <nav className='nav'>
      <ol>
        {list}
      </ol>
    </nav>
  )
}

받아서 list라는 새로운 변수에 처리하고 저장하여 보여주게 됩니다.

728x90
반응형