constMyComponent=props=>{return<div>안녕하시요, 제 이름은 {props.name}입니다.</div>;};MyComponent.defaultProps ={name:'기본 이름'}exportdefault MyComponent;
import MyCompoent from'./MyComponent'constApp=()=>{return<MyComponent>리액트</MyComponent>;};exportdefault App;// MyCompoent.jsconstMyComponent=props=>{return(<div> 안녕하시요, 제 이름은 {props.name}입니다. <br/> children 값은 {props.children} 입니다.
</div>);};MyComponent.defaultProps ={name:'기본 이름'}exportdefault MyComponent;
functionApp(){consthandleSelect=(selectedButton)=>{ console.log('Hello World - selected!');};return<TapButtononSelect={()=>handleSelect()}>Components</TapButton>// 만약 handleSelct()로 호출했다면 렌더링과 동시에 호출이 되어버림}
// App.jsfunctionApp(){consthandleSelect=(selectedButton)=>{ console.log('Hello World - selected!');};return<TapButtononSelect={()=>handleSelect('components')}>Components</TapButton>// 만약 handleSelct()로 호출했다면 렌더링과 동시에 호출이 되어버림}// TapButton.jsconstTapButton=({ children, onSelect })=>{return(// 자식 컴포넌트의 버튼이 눌렸을 때 부모의 handleSelect 함수를 호출<li><buttononClick={onSelect}>{children}</button></li>);};exportdefault TapButton;
// MyCompoent.jsconstMyComponent=props=>{const{ name, children }= props;return(<div> 안녕하시요, 제 이름은 {name}입니다. <br/> children 값은 {children} 입니다.
</div>);};MyComponent.defaultProps ={name:'기본 이름'}exportdefault MyComponent;
// MyCompoent.jsimport PropTypes from'prop-types';constMyComponent=({ name, children })=>{return(...)};MyComponent.defaultProps ={name:'기본 이름'};MyComponent.propTypes ={name: PropTypes.string
};exportdefault MyComponent;// App.jsimport MyComponent from'./MyComponent';constApp=()=>{return<MyComponentname={3}>리액트</MyComponent>;// name 3이기 때문에 propTypes에 의해 오류가 남}exportdefault App;
// MyCompoent.jsimport PropTypes from'prop-types';constMyComponent=({ name, favoriteNumber, children })=>{return(<div> 안녕하시요, 제 이름은 {name}입니다. <br/> children 값은 {children} 입니다.
<br/> 제가 좋아하는 숫자는 {favoriteNumber}입니다.
</div>);};MyComponent.defaultProps ={name:'기본 이름'};MyComponent.propTypes ={name: PropTypes.string,favoriteNumber: PropTypes.number.isRequired
};exportdefault MyComponent;