[ 리액트 / 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
  • 전체
    오늘
    어제
    • 분류 전체보기 (28) N
      • Web Project. Typers (5) N
        • 개요 (1)
        • 협업 (0)
        • 개발 과정 (2) N
        • 트러블슈팅 (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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바