[React] Props 개념 잡기

LeeTaeHee·2021년 3월 15일
2

React.js

목록 보기
1/5
post-thumbnail

⏳ Props

리액트는 props와 state를 가지는 컴포넌트로 구현이 되어있으며,
props 또는 state 가 변경 될때 해당 컴포넌트를 새롭게 렌더링 한다

이 글을 작성 하다보니 React를 처음 접했을때가 생각이 나네요
지금은 Props, State를 너무 당연시하게 사용하고 있지만,
처음 책으로 공부할때는 이해가 안 가서 조금 끄적이다 덮어버렸던 기억이.. 😒

모든 프로그래밍 언어와 마찬가지로 React 또한 공부할때는 꾸준한 인내심과 근성이 필요한것 같아요

그럼 이제 Props 부터 시작 해볼까요

Props: 부모 컴포넌트에서 자식 컴포넌트로 데이터를 전달해 줄 수 있는 수단

저는 props를 위와 같이 정의 해봤습니다.
부모 컴포넌트에서 자식 컴포넌트로 데이터를 전달해 줄때는 Props를 통해 전달해 줄 수 있으며, Props를 전달 받은 자식 컴포넌트에서는 읽기전용으로만 사용할 수 있습니다.

Props 의 데이터를 변경하고 싶다면, 자식 컴포넌트로 데이터를 전달해주고 있는 부모 컴포넌트에서만 변경이 가능합니다.

백문이 불여일견

이론도 중요하지만 Source 를 들여다 보는것이 가장 좋을것 같아요

🎈 Source

App.js

import './App.css';
import Hello from './Hello';

function App() {
  return (
    <div className="App">
      <Hello name={'World'}/>  1️⃣
      <Hello name={'Taehee'}/>
      <Hello name={'James'}/>
    </div>
  );
}

export default App;
  1. <Hello name={'World'}/> 를 보면
    Hello 컴포넌트를 호출할 때 props를 ( key={"value"} 형식 )
    전달 해줄 수 있으며 key, value는 변경 가능한 사용자 지정 값입니다.

Hello.js

import React, { Component } from 'react'

export default class Hello extends Component {
    constructor(props){
        super(props)
    }
    
    render() {
        return (
            <div className={"color_box"} style={{backgroundColor:"gray"}}>
                <span>Hello {this.props.name}</span>  1️⃣
            </div>
        )
    }
}
  1. Span 태그 사이 {this.props.name} 처럼 부모 컴포넌트 ( App.js ) 에서 name 라는 key 로
    전달 해 준 props를 this.props.name으로 접근 해서 사용할 수 있다.

🎐 Result

3개의 컴포넌트를 호출하며 전달 해준 World, Taehee, James 를
props로 받으며 Hello 뒤에 각각의 데이터를 표출해주는 결과를 볼 수 있다.

이번 글에서는 Props의 기본 개념과 사용법을 익혔고, 다음 글에서는 State를 배워보도록 하겠습니다. ✌

0개의 댓글