React 앱은 ReactDOM.render()를 한 번만 호출한다. element의 자식 요소를
변경하고 반영하고싶다면, 계속해서 ReactDOM.render()을 호출해야 한다.
컴포넌트를 통해 UI를 재사용 가능한 개별적인 여러 조각으로 나누고, 각 조각을 개별적으로 살펴볼 수 있습니다.
import React from 'react';
function Hello(props) {
return (
<div>Hello {props.name}</div>
);
}
export default Hello;
import React, { Component } from 'react';
class Hello extends React.Component {
render() {
return (
<div>Hello {this.props.name}</div>
);
}
}
export default Hello;
이 함수는 하나의 props만 갖고 있고 React element를 반환하는 컴포넌트이다.
function Welcome(props) {
return <h1>Hello, {props.name}</h1>;
}
function App() {
return (
<div>
<Welcome name="Sara" />
<Welcome name="Cahal" />
<Welcome name="Edite" />
</div>
);
}
Welcome 이라는 component 에 name props 데이터를 담고 있다.
하나의 component 에는 여러 개의 component로 또 나눠질 수 있다.
⭐️ 함수 컴포넌트나 클래스 컴포넌트 모두 컴포넌트의 자체 props를 수정해서는 안 된댜.
⭐️ 모든 React 컴포넌트는 자신의 props를 다룰 때 반드시 순수 함수처럼 동작해야 합니다.
function sum(a, b) {
return a + b;
}