React Component
React Component?
1. 재사용 UI 함수
여러개의 컴포넌트를 만들어 놓고 UI에 필요할 때 마다 꺼내쓴다.
만들어 놓고 꺼내쓰는 Javascript의 함수와 유사하다.
2. 컴포넌트 형태
- 부모 요소에서 내려온 객체 props라는 입력을 받음
- 화면에 어떻게 표현되는지를 기술하는 React 엘리먼츠를 반환(return)
- 함수형 컴포넌트 사용 지향!
props는 추후 더 자세하게
2.1. 함수형 컴포넌트
1
2
3
4
5
6
7
8
9
// 1.
function Welcome(props) {
return <h1>Hello, {props.name}</h1>
}
// 2.
function App () {
return <div>hello</div>
}
2.2. 클래스형 컴포넌트
1
2
3
4
5
class Welcome extends React.Component {
render() {
return <h1>Hello, {this.props.name}</h1>
}
}
3. 컴포넌트 구조
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import React from 'react';
function App() {
// <---- 자바스크립트 영역 ---->
return (
/* <---- HTML/JSX 영역 ---->*/
<div
style={/* <---- style 지정 ---->*/
{
height: '100vh',
display: ' flex',
flexDirection: 'column',
justifyContent: 'center',
alignItems: 'center',
}
}
>
</div>
);
}
export default App;
3.1. import
(im : 안쪽 port : 항구) 외부 파일을 안쪽으로 받아오는 영역
3.2. Component 시작
함수와 문법 유사하며 컴포넌트 이름 시작은 꼭 대문자
3.3. Javascript 영역
컴포넌트 시작 ~ return
3.4 JSX 문법(JS + HTML 유사)
- return 영역부터 시작된다.
- 멀티라인일 경우 ()로 감싸주기 싱글라인은 생략가능
- 최초의 Tag로 감싸줘야함 빈 테그<> 적용 가능
- 함수를 사용할 때는 중괄호{} 감싸주기
- style 적용은 기본적으로 Object 형태로 구성되어 함수{} 객체{} => 함수{ 객체{} }
3.5 export
(ex : 바깥쪽 port : 항구) 내부 파일을 바깥으로 내보내는 영역
4. 부모자식 컴포넌트
컴포넌트는 다른 컴포넌트를 품을 수 있으며
품고있는 상위 컴포넌트를 부모, 품어지는 하위 컴포넌트를 자식이라 말한다.
- 데이터는 부모 => 자식 단 방향으로 이루어진다.
- Component 데이터 보내기 < 컴포넌트 명칭 />
- 데이터의 흐름 파악 중요(GrandFather => Child)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import React from "react";
function Child() {
return <div>연결 성공</div>;
}
function Mother() {
return <Child />;
}
function GrandFather() {
return <Mother />;
}
function App() {
return <GrandFather />;
}
export default App;
This post is licensed under CC BY 4.0 by the author.