export default function ComponentName(props) {
// ---------> JS 코드 START (변수, 함수, 조건문 등)
const message = "Hello React!";
// ---------> JSX 코드 START
return (
<>
<h1>{message}</h1>
<p>{props.content}</p>
</>
);
}
<MyComponent title="리액트" content="재밌다!" />
→ 자식에서 props.title, props.content 로 접근
4. JSX 문법에서 JS 코드 사용 시 { } 중괄호 활용
import MyComponent from './MyComponent.jsx';
<MyComponent />
function App(){
return <MyComponent />;
}
<input /> // ⭕
<input> // ❌
return (
<div>
<h1>Hello</h1>
<p>World</p>
</div>
);
또는
return (
<>
<h1>Hello</h1>
<p>World</p>
</>
);
return (
<div>
<h1>Line 1</h1>
<h2>Line 2</h2>
</div>
);
정의부(if, for)는 불가능. 대신 JS 영역에서 처리 후 JSX에 넣음
const name = "홍길동";
return <h1>{name}님 안녕하세요!</h1>;
{ /* JSX 안에서는 이렇게 */ }
| 구분 | Props | State |
|---|---|---|
| 정의 | 부모 컴포넌트가 전달하는 값 | 컴포넌트 내부에서 관리하는 값 |
| 변경 가능 여부 | 읽기 전용 (자식이 변경 불가) | 변경 가능 (setState, useState) |
| 용도 | 외부에서 주입되는 데이터 | 내부에서 동적으로 바뀌는 데이터 |