컴포넌트는 javascript의 함수와 유사하다. props를 통해 입력을 받고 화면에 어떻게 표시되는지 기술하는 React Element이다.
즉, 컴포넌트의 props는 arguments이고, return은 react Element이다.
컴포넌트는 함수고, 함수는 값이고, 그 값은 React Element이니까, 결국 컴포넌트는 props를 input으로 가지고 만든 React Element이다.
function Welcome(props) {
return <h1>Hello, {props.name}</h1>
}
class Welcome extends React.Component {
render() {
return <h1>Hello, {this.props.name}</h1>
}
}
컴포넌트는 일반적인 DOM을 렌더링할 수도 있고, 사용자 정의 컴포넌트로도 나타낼 수 있다.
const element = <div />
const element = <Welcome name="Cheol" />
React가 사용자 정의 컴포넌트를 만나면 attribute값과 자식을 props라는 단일 객체를 통해 전달한다.
function Welcome(props) {
return <h1>Hello, {props.name}</h1>;
}
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(<Welcome name="Cheol" />);