<Components 예시>
const Vegetables = () => {
return (
<div>
<h1>채소 종류</h1>
<ul>
<li>당근</li>
<li>감자</li>
<li>호박</li>
<li>고구마</li>
<li>토마토</li>
</ul>
</div>
)
}
<props 예시>
const data = [
{ id: 1, name: '당근' },
{ id: 2, name: '감자' },
{ id: 3, name: '호박' },
{ id: 4, name: '고구마' },
{ id: 5, name: '토마토' }
]
const Vegetables = ({ data }) => {
return (
<div>
<h1>채소 종류</h1>
<ul>
{data.map(vegetable => {
const { id, name } = data
return <li key={id}>{name}</li>
})}
</ul>
</div>
)
}
import React from "react";
import MyComponent from "./MyComponent";
function App() {
return(
<MyComponent propValue="Hello 리액트!">Bye 리액트!</MyComponent>
);
}
export default App;
MyComponent 컴포넌트에서 상위 컴포넌트로 부터 받은 Props 데이터를 뷰에 렌더링한다.
{props.propValue}
: 상위 컴포넌트에서 props 값을 propsValue로 전달했기 때문에 {props.propValue}
로 나타낸다. {props.children}
: 리액트 컴포넌트 태그 사이에 내용을 보여주는 props 속성이다.import React from "react";
function MyComponent(props) {
return(
<div>
{props.propValue}, {props.children}
</div>
);
}
export default MyComponent;
props의 자료형은 자바스크립트의 자료형을 전부 사용 가능하다.
< 문자열 타입 프로퍼티 예시 >
<MyComponent name="Hello 리액트!"/>
< 문자열 이외 타입의 프로퍼티 예시 >
<MyComponent
boolProp= {true} //boolean
arrProp= {['a','b','c']} //배열
objProp= {{name:'코딩젤리', title:'헬로리액트!'}} //객체
funcProp= {() => { alert('알림창'); }} //함수
/>