티스토리 뷰

REACT

[React] 04. React props 사용하기

송우든 2020. 11. 8. 01:33
728x90

# props

props는 properties의 줄임말로 컴포넌트의 속성을 설정할 때 사용합니다. 

props를 설정하는 방법은 여러 가지가 있는데 먼저 JSX 코드 내부에서 설정하는 방법은 아래와 같습니다. 사용방법은 자바스크립트 표현식과 동일하게 {}를 사용하여 설정해줄 수 있어요!

const Introduce = (props) => {
    return (
        <div>
            <h1>안녕하세요!</h1>
            <p>{props.name}의 블로그입니다.</p>
        </div>
    );
}

 

다음은 비구조할당을 이용하여 props를 설정해주는 방법입니다.

const Introduce = (props) => {
    const {name, major} = props;
    return (
        <div>
            <h1>안녕하세요!</h1>
            <p>이름은 {name}이고, 전공은 {major}입니다.</p>
        </div>
    );
}

 

또한, 다음과 같이 컴포넌트 속성에 설정해주는 방법이 있습니다. 아래와 같은 Introduce라는 이름의 컴포넌트에 직접 name값을 속성으로 설정해 줄 수 있습니다.

ReactDOM.render(
    <Introduce name ="우든이" />,
  document.getElementById('root')
);

마지막으로 클래스형 컴포넌트에 props를 설정할 때에는 다음과 같이 render함수에서 this를 이용하여 설정하여 줍니다.

class Introduce extends Component {

    render(){
        const { name, major} = this.props;
        return (
            <div>
                <h1>안녕하세요!</h1>
                <p>이름은 {name}이고, 전공은 {major}입니다.</p>
            </div>
        );
    }
}

 

# props의 기본값 설정 및 검증

 

defaultProps를 사용하여 다음과 같이 props의 기본값을 설정해 줄 수 있습니다.

Introduce.defaultProps = {
    name : "송우든"
};

 

PropTypes을 이용하여 필수 props를 지정하거나 props의 타입을 검증할 수 있습니다.

import PropTypes from 'prop-types';

Introduce.propTypes = {
    name: PropTypes.string
};

 

또한, isRequired를 사용하면 PropTypes를 지정하지 않았을 때의 경고 메시지를 띄어줄 수 있습니다.

Introduce.propTypes = {
    name: PropTypes.string,
    major : PropTypes.string.isRequired
};

 

major에 값이 설정되어 있지 않다는 오류 메시지를 확인할 수 있습니다.

728x90

'REACT' 카테고리의 다른 글

[React] 06. React Hooks 사용하기  (0) 2020.11.11
[React] 05. React state 사용하기  (0) 2020.11.08
[React] 03. React 컴포넌트  (0) 2020.11.08
[React] 02. JSX 사용하기  (0) 2020.11.06
[React] 01. React  (0) 2020.11.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크