본문 바로가기

Front-end/React

props란?

props 는 컴포넌트에서 사용 할 데이터 중 변동되지 않는 데이터를 다룰 때 사용됩니다. parent 컴포넌트에서 child 컴포넌트로 데이터를 전할 때, props 가 사용됩니다. 예제를 통하여 이에 대하여 알아보겠습니다.

props 추가하기

컴포넌트에서 immutable (변하지 않는)  데이터가 필요 할 땐,
render() 메소드의 내부에 안에 { this.props.propsName } 형식으로 넣고,
컴포넌트를 사용 할 때, < > 괄호 안에 propsName="value" 를 넣어 값을 설정합니다.

Header 컴포넌트와 Content 컴포넌트가 props를 사용하도록 업데이트 해보겠습니다.

Header.js

import React from 'react';
 

class Header extends React.Component {
    render(){
        return (
            <h1>{ this.props.title }</h1>
        );
    }
}

export default Header;

위와 같이 props 값이 렌더링 될 위치에 { this.props.propsName } 를 넣습니다.

Content.js

import React from 'react';
 

class Content extends React.Component {
    render(){
        return (
            <div>
                <h2>{ this.props.title }</h2>
                <p> { this.props.body } </p>
            </div>
        );
    }
}

export default Content;

contentTitle 와 contentBody props 를 넣어주었습니다.


props 사용하기

자, 이제 App 컴포넌트에도 props 를 넣어주고, App 컴포넌트에서 사용되는 props 값을 child 컴포넌트들로 전달하겠습니다.

App.js

import React from 'react';
import Header from './Header';
import Content from './Content';

class App extends React.Component {
    render(){
        return  (
            <div>
                <Header title={ this.props.headerTitle }/>
                <Content title={ this.props.contentTitle }
                          body={ this.props.contentBody }/>
            </div>
        );
    }
}

export default App;

 

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/App';
 
const rootElement = document.getElementById('root');    
ReactDOM.render(<App headerTitle = "Welcome!"
                     contentTitle = "Stranger,"
                     contentBody = "Welcome to example app"/>, rootElement);

'Front-end > React' 카테고리의 다른 글

Udemy강좌 시작 ( React Tutorial and Projects Course )  (0) 2021.06.15
fetch 란?  (0) 2021.06.10
JSX란?  (0) 2021.06.10
Rendering이란?  (0) 2021.06.10
React 강의 by 동빈나  (0) 2021.06.10