리액트를 사용하여 애플리케이션의 인터페이스를 설계할 때 사용자가 볼 수 있는 요소는 여러 가지 컴포넌트로 구성되어 있다.
MyComponent.js [임의로 만든 파일]
import React, { Component } from 'react'
class MyComponent extends Component {
render() {
return (
<div>
컴포넌트 초기 코드 작성
</div>
)
}
}
export default MyComponent;
App.js
import React from 'react';
import MyComponent from './MyComponent';
function App() {
return (
<MyComponent />
);
}
export default App;
이제 해당폴더에가서 yarn start 를 시작하면 된다.
결과)
MyComponent.js
import React, { Component } from 'react'
import PropTypes from 'prop-types';
class MyComponent extends Component {
static defaultProps = {
name: '기본 이름',
age: PropTypes.number.isRequired // 필수적으로 존재해야 하며 숫자입니다
}
static propTypes = {
name: PropTypes.string // name props의 타입을 문자열로 설정합니다.
}
state = {
number: 0
}
render() {
return (
<div>
<p>안녕하세요, 제 이름은 {this.props.name} 입니다.</p>
<p>저는 {this.props.age}살 입니다.</p>
<p>숫자: {this.state.number}</p>
<button onClick={() => {
this.setState({
number: this.state.number + 1
})
}
}>더하기</button>
</div>
)
}
}
export default MyComponent;
App.js
import React from 'react';
import MyComponent from './MyComponent';
function App() {
return (
<MyComponent name="React" age={4}/>
);
}
export default App;
결과 :
- 더 많은 propTypes 종류
array : 배열
bool : 참, 거짓
func : 함수
number : 숫자
object : 객체
string : 문자열
symbol : ES 문법의 심벌 객체
node : 렌더링할 수 있는 모든 것(숫자, 문자열, element 또는 이들로 구성된 배열)
element : 리액트 요소
instanceOf(MyClass) : 특정 클래스의 인스턴스
oneOf(['Male', 'Female']) : 주어진 배열 요소 중 값 하나
oneOfType([React.PropTypes.string, React.PropTypes.number]) : 주어진 배열 안의 종류 중 하나
arrayOf(React.PropTypes.number) : 주어진 종류의 값을 가진 객체
shape({name : React.PropTypes.string, age : React.PropTypes.number}) : 주어진 스키마를 가진 객체
any : 아무 종류
반응형
'WEB > REACT' 카테고리의 다른 글
6. 예제 - 일정관리 (0) | 2019.06.25 |
---|---|
5. 리액트 컴포넌트 스타일링 방식 (0) | 2019.06.21 |
4. 컴포넌트의 라이플사이클 메서드 (0) | 2019.06.19 |
3. 이벤트 핸들링, ref (0) | 2019.06.19 |
1.환경설정 (0) | 2019.06.19 |