[ 리액트 / React ] props

2025. 3. 19. 21:31·Web Development/React

[ 리액트 / React ] props 
/ 쓰는 이유 / 사용법 /

props 왜 써요?
컴포넌트 간 데이터 전달 (부모 → 자식 컴포넌트)
.
.
다음과 같은 코드가 있다고 가정.
function Greeting() {
    return <h1>안녕, {여기에 이름 넣고싶음}!</h1>;
}

function App() {
    return (
        <div>
            <Greeting/> // 철수 자리
            <Greeting/> // 영희 자리
        </div>
    );
}​

  - <Greeting/> // 철수 자리
  - <Greeting/> // 영희 자리

     각 자리에서 호출했을 때 <h1>안녕 철수!</h1>와 같이 출력하고 싶다면?
     -> App() 컴포넌트에서 Greeting()컴포넌트로 이름을 넘겨주면 됨!
 
그냥 State를 사용한다면
function App() {
	const [name, setName] = useState('');
    return (
        <div>
            <h1>안녕하세요!</h1>
            <Greeting/> // 철수 자리
            <Greeting/> // 영희 자리
        </div>
    );
}

  -> name 상태 변수는  App 컴포넌트에서만 할당
        = Greeting 컴포넌트에서 사용 불가능.


해결 방안
! props 사용 !

 

props 사용법
function Greeting(props) {
    return <h1>안녕, {props.name}!</h1>;
}

function App() {
    return (
        <div>
            <Greeting name="철수" />
            <Greeting name="영희" />
        </div>
    );
}


# 코드 설명

<Greeting name="철수" />
<Greeting name="영희" />

  다음과 같은 형태로 사용한다.  <'컴포넌트명'   '전달할 변수명'='전달할 값'/>
  물론 전달한 변수가 여러개여도 됨!
   ex) <Greeting name='철수' age='90'/>

function Greeting(props) { ...

  props를 사용 시 기본 구조!  ( 그냥 외우면 된다. )
    -> function 컴포넌트명(props)

return <h1>안녕, {props.name}!</h1>;

  부모 컴포넌트(여기선 App)에서 받아온 변수를 사용하는 방법.
   -> props.'사용한 변수명'
         ( 만약 <Greeting name="영희" /> 이라고 작성했다면,
           호출할 땐 props.name )

 

'Web Development > React' 카테고리의 다른 글

[ 리액트 / React ] 회원 가입  (0) 2025.04.18
[ 리액트 / React ] Redux Toolkit  (0) 2025.03.20
[ 리액트 / React ] 컴포넌트 Component  (0) 2025.03.18
[ 리액트 / React ] State 상태 변수 (ps. Destructing)  (0) 2025.03.17
[ 리액트 / React ] React를 사용하는 이유 - SPA  (2) 2025.03.15
'Web Development/React' 카테고리의 다른 글
  • [ 리액트 / React ] 회원 가입
  • [ 리액트 / React ] Redux Toolkit
  • [ 리액트 / React ] 컴포넌트 Component
  • [ 리액트 / React ] State 상태 변수 (ps. Destructing)
apply2y
apply2y
  • apply2y
    apply's blog
    apply2y
  • 전체
    오늘
    어제
    • 분류 전체보기 (26) N
      • Web Project (2) N
        • Project. Typers (2) N
      • Web Development (11)
        • Troubleshooting Note (2)
        • ORM | JPA (1)
        • Spring Boot (1)
        • JWT (1)
        • React (6)
      • Web Security (0)
      • Cloud (3)
        • AWS (3)
      • 리눅스마스터 (6)
        • 리눅스의 개요 (2)
        • 리눅스 시스템의 이해 (2)
        • 네트워크의 이해 (1)
        • 네트워크 보안 (1)
      • Study Notes (2)
      • 마인크래프트 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    AWS
    리눅스 마스터
    리눅스 마스터 1급
    gh repo clone
    spring boot
    토큰 방식
    웹 토큰
    jwt이란?
    variable might not have been initialize
    간단
    리눅스 마스터 2급
    React
    아마존 웹 서비스
    typers
    jwt와 세션
    리액트
    object relation mapping
    객체 관계 매핑
    springboot variable might not have been initialize
    spring boot 환경설정
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
apply2y
[ 리액트 / React ] props
상단으로

티스토리툴바