Component?
- JS function과 유사하고, "prop"객체를 입력받고 React 엘리먼트를 반환하는 역할
Props?- 엘리먼트에 작성된 JSX 어트리뷰트와 자식을 객체로 표현한 것. Component에 인자로 전달된다.
function Welcome(props) {
return <h1>Hello, {props.name} {props.children}</h1>;
}
const element = <Welcome name="Sara">어려워react</Welcome>;
//react가 사용자 정의 컴포넌트로 작성한 엘리먼트 발견
//JSX 어트리뷰트(name)와 자식(어려워react)을 컴포넌트(Welcome)에 단일 객체로 전달(이 객체를 props)
ReactDOM.render(element, document.getElementById('root'));
<Welcome name="Sara">
엘리먼트로 ReactDOM.render()
를 호출 {name: "Sara", children: "어려워react"}
를 props
로 하여 Welcome
컴포넌트를 호출한다.Welcome
컴포넌트는 <h1>Hello, Sara 어려워react</h1>
엘리먼트를 반환<h1>Hello, Sara 어려워react</h1>
엘리먼트와 일치하도록 DOM을 업데이트
const element = <Welcome name="Sara">어려워react</Welcome>;
//react가 사용자 정의 컴포넌트로 작성한 엘리먼트 발견
//JSX 어트리뷰트(name)와 자식(어려워react)을 컴포넌트에 단일 객체로 전달(이게 props)
function Welcome(props) {
return <h1>Hello, {props.name} {props.children}</h1>;
}
function App() {
return (
<div>
<Welcome name="Sara" /> //{name: "Sara"}
<Welcome name="Coding" /> //{name: "Coding"}
<Welcome>react어려워</Welcome> //{children: "react 어려워"}
</div>
)
}
ReactDOM.render(element, document.getElementById('root'));
render() {
return (
<React.Fragment>
<ChildA />
<ChildB />
<ChildC />
</React.Fragment>
)
}
<Tweet>나의 새 트윗</Tweet>
이라는 컴포넌트 사용 방법이 있다고 가정할 때, 컴포넌트 내에서 나의 새 트윗이라는 문자열은 어떻게 접근할 수 있나요? function Tweet(props) {
return (
{props.children} // <- 이런식으로 접근 가능
)
}