component 란?
이렇게 복잡한 html을 한 단어로 치환할 수 있는게 컴포넌트이다.
👋 어떤걸 보통 컴포넌트로 만들까요 ?
- 반복적인 html 축약할때
- 자주변경되는 ui 들
- 다른 페이지를 만들고 싶다면 그 페이지의 HTML 내용
- 또는 다른 팀원과 협업할 때 웹페이지를 Component 단위로 나눠서 작업을 분배하기도 한다.
컴포넌트는 그냥 함수 문법이랑 똑같아서 용도도 똑같다고 보면 된다.
하지만 아무거나 컴포넌트를 만들면 안된다.
컴포넌트를 만드는 것은 항상 책임이 따른다
< component 만드는법 >
1. function 만들기
- function 만들때 다른 function 바깥에 만들기
- 영어 대문자로 보통 작명
- arrow function 써도 된다.
function Modal(){
return ( <div></div> )
}
// let const 맘대로
let Modal = () => {
return ( <div></div>)
}
2. return 안에 html 담기
3. <함수명></함수명> 또는 <함수명/> 쓰기
< component 단점 >
state 가져다 쓸 경우 문제가 생긴다. ?
당연히 자바스크립트에선
A함수에 있던 변수는 B함수에서 맘대로 가져다 쓸 수 없다.
(하지만.나중에 배울 props라는 문법을 이용해 state를 <Modal>까지 전해줘야 비로소 사용가능)
[참고]
코딩애플
'React' 카테고리의 다른 글
| React | props (자식이 부모의 state 가져다쓰고 싶을 때) (0) | 2022.06.12 |
---|---|
| React | 동적인 UI 만드는 step + 모달창 스위치만들기 (0) | 2022.06.12 |
| React | Hook의 useState + 자주바뀌는 데이터는 (변수말고) state에 담자~! (0) | 2022.06.11 |
| React | JSX에서 조건문은? 삼항연산자, AND(&&) 연산자 (0) | 2022.06.11 |
| React | 무적권 알고가야 할 JSX 문법 : 부모 요소, className, style속성, {중괄호} (0) | 2022.06.11 |