티스토리 뷰
props (properties) : 컴포넌트 속성을 설정할 때 사용
- 부모 컴포넌트가 자식 컴포넌트에 주는 값
- 값을 받아오기만 할 뿐, 수정 불가
- MyComponent.js
import React, {Component} from 'react';
class MyComponent extends Component {
render(){
return (
<div>
안녕하세요 제 이름은 {this.props.name} 입니다.
</div>
)
}
}
export default MyComponent;
- App.js
import React, { Component } from 'react';
import MyComponent from './MyComponent';
class App extends Component {
render() {
return (
<MyComponent name="react"/>
);
}
}
export default App;
defaultProps : props 값을 지정하지 않았을 때 기본 값으로 설정
- MyComponent.js
import React, { Component } from 'react';
class MyComponent extends Component {
static defaultProps = {
name: '기본 이름'
}
render() {
return (
<div>
안녕하세요 제 이름은 {this.props.name} 입니다.
</div>
)
}
}
export default MyComponent;
propTypes : 컴포넌트의 필소 props를 지정하거나 props 타입을 지정
- MyComponent.js
import React, { Component } from 'react';
import PropTypes from 'prop-types';
class MyComponent extends Component {
static defaultProps = {
name: '기본 이름'
}
static propTypes = {
name : PropTypes.string, //name props 타입을 문자열로 설정
age : PropTypes.number.isRequired //필수적으로 존재, 숫자
}
render() {
return (
<div>
안녕하세요 제 이름은 {this.props.name} 입니다.
저는 {this.props.age}살 입니다.
</div>
)
}
}
export default MyComponent;
- App.js
import React, { Component } from 'react';
import MyComponent from './MyComponent';
class App extends Component {
render() {
return (
<MyComponent name="react" age={4}/>
);
}
}
export default App;
- propTypes 종류
array |
배열 |
bool |
참, 거짓 |
func |
함수 |
number |
숫자 |
object |
객체 |
string |
문자열 |
any |
아무 종류 |
symbol |
ES6 문법의 심벌 개체 |
node |
랜더릴 가능한 모든 것 (숫자, 문자열, element 등) |
instanceOf( ) |
특정 클래스의 인스턴스 |
oneOf([ ]) |
주어진 배열 요소 중 값 하나 |
oneOfType([ ]) |
주어진 배열 안의 종류 중 하나 |
arrayOf( ) |
주어진 종류로 구성된 배열 |
objectOf( ) |
주어진 종류의 값을 가진 객체 |
shape({ }) |
주어진 스키마를 가진 객체 |
'FRONT-END > REACT' 카테고리의 다른 글
[REACT] REF (0) | 2019.01.03 |
---|---|
[REACT] STATE (0) | 2019.01.03 |
[REACT] JSX (0) | 2019.01.02 |
[REACT] REDUX (0) | 2018.10.22 |
[REACT] 기본 설정 및 설치 (0) | 2018.10.19 |
댓글