Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- docker
- 바스트로37
- Hook
- useEffect
- 고릴라볼링장
- State
- 전나라동동공주
- 강다니엘
- react
- 오삼철판볶음
- SpringCamp
- 오뚜기숯불소금구이
- NapuCon2016
- react component
- Replacation
- DockerCompose
- nginx
- 신미낙지
- 판교
- 진1926
- SpockFramework
- MariaDB
- 양살치살
- SetMail
- SpringCamp2019
- Spring
- BDD
- NVM
- SpringCamp2017
- Java
Archives
- Today
- Total
Note
React Component 본문
1. 개요
React는 두 가지의 컴퍼넌트 선언방식이 있습니다. 하나는 함수형 컴퍼넌트고, 다른 하나는 클래스형 컴퍼넌트입니다.
2. 컴퍼넌트
2.1. 함수형 컴퍼넌트
함수형 컴퍼넌트는 아래와 같은 형태를 합니다.
import React from "react";
const FunctionalComponent = (props) => {
const {description} = props;
return <div>Functional Component: {description}</div>
};
export default FunctionalComponent;
간단한 형태를 하고, 라이프사이클 기능을 사용하지 않아도 될 때 사용하기 좋습니다.
Hooks이 생기면서 함수형 컴퍼넌트에서도 state를 사용할 수 있도록 되었습니다.
2.2. 클래스형 컴퍼넌트
클래스형 컴퍼넌트는 아래와 같은 형태를 합니다.
import React from "react";
class ClassComponent extends React.Component {
render() {
const {description} = this.props;
return (
<div>Class Component: {description}</div>
);
}
}
export default ClassComponent;
클래스형 컴퍼넌트는 라이프사이클 기능을 사용할 수 있고, 함수형 컴퍼넌트보다 복잡한 컴퍼넌트를 만들어야할 때 사용하기 좋습니다.
3. 컴퍼넌트 사용하기
컴퍼넌트를 사용하는 방법은 함수형 컴퍼넌트나 클래스형 컴퍼넌트 모두 동일합니다.
import React from 'react';
import FunctionalComponent from "./FunctionalComponent";
import ClassComponent from "./ClassComponent";
import './App.css';
const App = () => {
return (
<React.Fragment>
<div>Hello react!</div>
<FunctionalComponent
description="this is functional component!"
/>
<ClassComponent
description="this is class component!"
/>
</React.Fragment>
)
};
export default App;
사용할 컴퍼넌트를 import 하고 컴퍼넌트를 선언할 때 prop을 전달합니다.
prop은 변수나 함수 등을 전달할 수 있습니다.
이번 글에서 props, state, lifecycle, hooks라는 용어가 등장했는데, 이에 대해서는 뒤에서 더 설명하도록 하겠습니다.
'Dev > React' 카테고리의 다른 글
React Lifecycle (0) | 2019.12.15 |
---|---|
React Events (0) | 2019.12.15 |
React State (0) | 2019.12.15 |
React Prop (0) | 2019.12.08 |
React 시작하기 (0) | 2019.12.08 |
Comments