JS/React

React 컴포넌트 & 프롭스 (Components & Props)

0304호 2023. 1. 16. 18:24

컴포넌트(Components)

화면의 부분부분을 재활용해서 사용하기 위해, 자식 요소로 만든다.
App에서 자식을 만들고, 그 자식에서 또다시 부분부분을 컴포넌트로.

 
->전체화면을 리렌더링하는걸 피하기 위해 변경하고 싶은 부분을 하나하나 자식컴포넌트로 만들고,
 그 부분에서 재활용할 부분을 자식요소로.
 
컴포넌트는 만들 때 앞글자를 대문자로 만드는 것이 규칙이다.

모듈내보내기 - 외부에서 사용할 모듈 이름을 지정한다.
- export default 이름 

 

모듈불러오기 - 부모컴포넌트에서 사용한다.
import 이름 from 경로;


컴포넌트는 함수형, 클래스형 2가지이다.

함수형

const MyComponent2 = () => {
    return <div>함수형 컴포넌트</div>;
};

export default MyComponent2;

클래스형

import { Component } from "react";

class MyComponent3 extends Component {

    //클래스형 컴포넌트 render함수 안에서 return문을 작성
    render(){
        return(
            <div>나의 클래스형 컴포넌트</div>
        )
    }
}

export default MyComponent3;

Props

 

상워 컴포넌트에서 하위컴포넌트로 전달하는 매개변수입니다.

하위 컴포넌트에서 사용할 때는 {}를 이용해서 값을 받을 수 있습니다.

상위 컴포넌트에서는 컴포넌트의 속성값을 동일이름으로 지정합니다.

 

props의 기본값 설정하기 (주의 - 대소문자 정확하게 구분함  )

MyComponent.defaultProps = {
    addr: '서울시',
    age: 0    
}

 

props의 타입검증 (주의 - 대소문자 정확하게 구분함  )

MyComponent.propTypes = {
    name: PropsTypes.string,
    age: PropsTypes.number,
    email: PropsTypes.string.isRequired //필수값(상위컴포넌트에서 반드시 전달)

}