컴포넌트 함수의 반환값
1) div 리액트 요소
2) 컴포넌트
3) 문자열, 숫자
4) ⭐️ 배열 (키값 필수)
5) fragment
6) null/ boolean
7) Portal
6. 컴포넌트 함수의 반환값
1) div 리액트 요소
export default function App() {
return <div>안녕하세요</div>;
}
2) 컴포넌트
export default function App() {
return <Counter />;
}
3) 문자열, 숫자
export default function App() {
return '안녕';
}
4) 배열 : 배열로 반환할 때는 리액트 요소가 항상 key
를 가지고 있어야 한다. key
는 렌더링을 효율적으로 하기 위해서 필요하다. 리액트가 이 값을 이용해서 가상돔에서의 연산을 효율적으로 할 수가 있다.
export default function App() {
return [<p key={1}>world</p>, <p key={2}>hello</p>];
}
5) fragment
// 축약형
<>
</>
export default function App() {
return (
<React.Fragment>
<p>Hello</p>
<p>World</p>
</React.Fragment>
);
}
6) null/ boolean
export default function App() {
return (
<div>
{null}
{false}
{true}
</div>
);
}
export default function App() {
return (
<div>
{count.value > 0 && <Title title={`현재 카운트: ${count.value}`} />
</div>
);
}
7) Portal
<body>
<div id="root"></div>
<div id="something"></div>
</body>
App.js 설정
something
요소 밑에 렌더링 됨import React from 'react';
import ReactDOM from 'react-dom';
import Counter from './Counter';
export default function App() {
return (
<>
<p>안녕</p>
<Counter />
{ReactDOM.createPortal(
<div>
<p>hello</p>
<p>world</p>
</div>,
document.getElementById('something'),
)}
</>
);
}
```~~텍스트~~