//src/MyComponent.js
import React from 'react';
const MyComponent = props => {
return <div>Hi, My name is {props.name}. </div>;
};
//default value 지정하기
MyComponent.dafaultProps = {
name: '기본 이름'
};
export default MyComponent;
//src/App.js
import React from 'react';
import MyComponent from './MyComponent';
const App = () =>{
return <MyComponent name="JUNE" />;
};
export default App;
//src/App.js
import React from 'react';
import MyComponent from './MyComponent';
//컴포넌트 사이에 내용 추가
const App = () => {
return <MyComponent>This is Children</MyComponent>;
}
export default App;
//src/MyComponent.js
import React from 'react';
//props.children으로 컴포넌트 사이의 내용에 접근할 수 있다.
const MyComponent = props => {
return <div>
Hi!, My name is {props.name}.
<br/>
children : {props.children}
</div>
}
MyComponent.defaultProps = {
name : 'Default Name'
};
export default MyComponent;
//src/App.js
import React from 'react';
const MyComponent = props => {
const {name, children} = props;
return <div>
Hi!, My name is {name}.
<br/>
children : {children}
</div>
}
MyComponent.defaultProps = {
name : 'Default Name'
};
export default MyComponent;
//src/App.js
import React from 'react';
//파라미터 부분에서 비구조화 할당 문법으로 값 추출하기
const MyComponent = ({name, children}) => {
return <div>
Hi!, My name is {name}.
<br/>
children : {children}
</div>
}
MyComponent.defaultProps = {
name : 'Default Name'
};
export default MyComponent;
//src/MyComponent.js
import React from 'react';
import PropTypes from 'prop-types';
const MyComponent = props => {
const {name, children} = props;
return <div>
Hi!, My name is {name}.
<br/>
children : {children}
</div>
}
MyComponent.defaultProps = {
name : 'Default Name'
};
//prop의 타입을 직접 지정해줄 때 사용
MyComponent.propTypes={
//name 값은 무조건 string 형태로 전달해야 한다라는 것을 의미
name: PropTypes.string
}
export default MyComponent;
//src/MyComponent.js
import React from 'react';
import PropTypes from 'prop-types';
const MyComponent = ({name, num, children}) => {
return <div>
Hi!, My name is {name}.
<br/>
children : {children}
<br/>
num : {num}
</div>
}
MyComponent.defaultProps = {
name : 'Default Name'
};
//prop의 타입을 직접 지정해줄 때 사용
MyComponent.propTypes={
//name 값은 무조건 string 형태로 전달해야 한다라는 것을 의미
name: PropTypes.string,
//isRequired를 지정하면 해당 변수?(여기서 num)을 지정하지 않으면
//undefined경고가 발생한다.
num: PropTypes.number.isRequired
}
export default MyComponent;
official : https://github.com/facebook/prop-types