FrontEnd/React.js
Props를 필수 값으로 사용하기
J._.cobb
2022. 6. 27. 12:39
Props를 필수 값으로 사용하기
props의 자료형을 선언할 때 prop-types를 사용한다. 자료형 설정 대신 isRequired를 조건으로 추가하면, 변수값이 없는 경우 경고 메시지가 발생할 수 있다.
예제코드
App.js
import React from 'react';
import './App.css';
import PropsRequired from './R021_PropsRequired.js';
function App() {
return (
<div>
<h1>Start React 200!</h1>
<p>css 적용하기</p>
<PropsRequired ReactNumber={200}/>
</div>
);
}
export default App;
R021_PropsRequired.js
import React, {Component} from 'react';
import datatype from 'prop-types';
class R021_PropsRequired extends Component {
render(){
let{
ReactString,
ReactNumber
} = this.props
return(
<div style={{padding: "0px"}}>
{ReactString}{ReactNumber}
</div>
)
}
}
R021_PropsRequired.propTypes = {
ReactString: datatype.isRequired,
}
export default R021_PropsRequired;
코드 해설
Line 6~9
- render() 함수 내에서 지역 변수를 선언해 props로 전달된 값을 할당한다.
Line 18~20
- ReactString이라는 props 값을 필수 값으로 지정한다. 하지만 상위 컴포넌트에서 ReactString이라는 변수를 전달하지 않았기 때문에 경고 메시지가 발생한다. 경고 메시지는 개발자 도구 콘솔 창에서 확인할 수 있다.
Line 12
- ReactString 변수값은 비어 있기 때문에 상위 컴포넌트에서 전달받은 ReactNumber 변수값(200)만 화면에 출력된다.