const paint = () => (
<>
<h1>Hi</h1>
<h3>Bye</h3>
</>
)
- 지난 시간에 만들어 변수로 할당했던 내용을 paint 라는 함수로 변경
함수를 호출하여 element 변수에 할당
const element = (
<>
{paint()}
{paint()}
{paint()}
</>
)
- element라는 변수에 paint함수를 3번 호출하는 react 요소를 만들어 할당
선언된 element를 rootElement에 render
ReactDOM.render(element, rootElemet)
parameter를 갖는 함수로 변경
const paint = (title, description) => (
<>
<h1>{title}</h1>
<h3>{description}</h3>
</>
)
const element = (
<>
{paint("Name", "Davidyoon")}
{paint("Age", "34")}
{paint("Country", "Korea")}
</>
)
- Custom Element를 커스텀하게 만들어 함수화 하여 필요한 곳에서 다양하게 활용할 수 있다
Custom Element 만들기
const Paint = ({title, description}) => (
<>
<h1>{title}</h1>
<h3>{description}</h3>
</>
)
const element = (
<>
<Paint title="Hello" description="hello" />
</>
)
- 함수형 Custom Element를 생성할때는 대문자 이름을 기본으로 한다
- 소문자로 시작할 시 Warning 과 함께 정상적인 출력이 되지 않음
- param값을 넣어주는 곳에는 props로 {} 안에 포함되어야 한다
- HTML 태그 처럼 내부 요소처럼 파라미터를 작성해 주면 된다
Children 넣어보기
const Paint = ({title, description, children}) => (
<>
<h1>{title}</h1>
<h3>{description}</h3>
{children}
</>
)
const element = (
<>
<Paint title="Hello!" description="it's me">
<span>Davidyoon</span>
</Paint>
</>
)
- Custom Element에는 children을 넣을 수 있다
- Paint 컴포넌트에 span 태그 안에 커스텀한 children을 넣어서 사용 가능하다
정리
- Function 은 재사용이 가능한 Element 즉, Custom Element를 만드는데 사용된다
- Custom Element를 만들 때에는 기존 html tag와 구분하여 대문자로 만들어야 한다(필수)
- Children은 당연히 개수에 제한이 없다
참조
- 패스트 캠퍼스 온라인 강좌(한 번에 끝내는 React의 모든 것 초격자 패키지 Online)