티스토리 뷰
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
링크