ELICE AI6/React

Elice) Component

이동탁 2023. 1. 15. 03:09

 

Component

 

 1. Component 란?

- React에서 페이지를 구성하는 최소단위

- Component의 이름은 대문자로 시작

- Class Component / Function Component로 나뉨

 

const NewComponent = ({Test}) => {
	return <div style = {{
    padding : 10,
    color : "red"
    }}>
    {Test}
    </div>
    }
    
   // Tip : padding 등 style을 사용시에는 px를 생략 가능하다.
   // NewComponent의 object에 {Test}를 넣어서 사용
   
   
const Test = () => {
	return (
    <div>
    	<p>이건</p>
        <NewComponent>TEST</NewComponent>
        <p>입니다.</p>
    </div>
    )
   }

Component를 만든 후 다른 Component에서 자유롭게 활용 할 수 있다.

! Component의 이름은 항상 대문자로 시작한다.

 

 

 


 

 

 

2. Class Component와 Function Component

 

// Class Component

class Test extends Component {
	render () {
    const { name } = this.props
    return <div>{name}입니다.</div>
    }
   }
   
   
// Function Component

const Test = (props) => {
	const { name } = props
    return <div>{name}입니다.</div>
    }

 

초기의 React에서는 Component가 모두 Class Component였지만 현재는 Function Component가 주로 사용된다.

 

 

 


 

 

3. Component의 특징

 

<NewComponent user = {{ name : "동탁" }} color = "red">
	<div> 안녕 </div>
</NewComponent>

Component에서 Attribute에 해당하는 부분을 Props로 하고

컴포넌트안에 작성된 하위 Element를 children이라고 한다.

children도 결국에는 props중 하나이다.

 

 

const NewComponent = (props) => {
	const { user , color , children } = props
    
    return (
    <div style = {{ color }}>
    <p>{user.name}님의 하위 element는</p>
    {children} 입니다.
    </div>
    )
}

상위 Element로부터 전달받은 Props를 활용하는 코드이다.

 

이 컴포넌트의 자식 (children) 요소 역시 props 로부터 값을 받아오는 것을 볼 수 있다.

'ELICE AI6 > React' 카테고리의 다른 글

Elice) Props & State  (1) 2023.01.25
Elice) JSX  (0) 2023.01.15
Elice) React  (1) 2023.01.13