👉 App.js(컴포넌트)의 내용이 index.js를 거쳐 index.html(화면)에 보여지는 것!
속성을 나타내는 props
를 input으로 하고, UI가 어떻게 보여야 하는지 정의하는 React 엘리먼트
를 output으로 하는 함수
class Subject extends Component {
render() {
return (
<header>
<h1>WEB</h1>
world wide web!
</header>
);
}
}
function App() {
return (
<div className="App">
{/* 컴포넌트 사용 */}
<Subject />
</div>
);
}
export default App;
Properties의 줄임말로, 컴포넌트에게 전달하는 속성값
예를 들어, App 컴포넌트에서 Hello 컴포넌트를 사용 할 때 age
라는 값을 전달한다고 가정한다면 props는 객체 형태로 전달되며, props.age
로 age의 값을 찾는다.
App.js
import React from 'react';
import Hello from './Hello';
function App() {
return (
<Hello age={10} />
);
}
export default App;
Hello.js
import React from 'react';
function Hello(props) {
return <div>{ props.age }</div>;
}
export default Hello;
컴포넌트에서 동적인 값
구성
props
) 전달{props.num}
값 출력App.js
import { useState } from "react";
import Props from "./component/Props";
import "./App.css";
function App() {
let [num, setNum] = useState(0); // 변수 num의 초기값 = 0
function increase() {
setNum(++num); // 먼저 연산 후 num 값 저장
}
function decrease() {
setNum(--num);
}
return (
<div className="App">
<button onClick={ increase } className="btn">increase</button>
<button onClick={ decrease } className="btn">decrease</button>
{/* num 값을 Props 컴포넌트에 전달 */}
<Props num={num} />
</div>
);
}
export default App;
Props.js
export default function Props(props) {
return (
<div>
<h1>Count { props.num }</h1>
</div>
);
}
결과
프로젝트 구조: https://mjn5027.tistory.com/21
도서 「(초보자를 위한) 리액트 200제」