1. 반드시 부모 요소 하나가 감싸는 형태여야 한다.
Virtual DOM에서 컴포넌트 변화를 감지할 때 효율적으로 비교할 수 있도록 컴포넌트 내부는 하나의 DOM트리 구조로 이루어져 야한다는 규칙이 있기 때문이다.
에러코드
function App(){
return (
<div>HI</div>
<div>Hello</div>
)
}
function App(){
return (
<div>
<div>HI</div>
<div>Hello</div>
</div>
)
}
2. JavaScript 표현식.
function App() {
const name = 'YoonHu';
return (
<div>
<div>HI</div>
<div>{name}!</div>
</div>
);
}
3. if(for)대신 삼항 연산자 사용
function App() {
const name = 'YoonHu';
const content = ''
if(name === 'YoonHu') content = <div>제 이름은 {name}입니다.</div>
else content = <div>제 이름은 없습니다.</div>
return (
<div>
{content}
</div>
);
}
function App() {
const name = 'YoonHu';
return (
<div>
{
name === YoonHu
? <div>제 이름은 {name}입니다.</div>
: <div>제 이름은 없습니다.</div>
}
</div>
);
}
4. React DOM은 HTML 어트리뷰트 이름 대신 CamelCase 프로퍼티 명명을 규칙으로 사용한다.
function App() {
const style = {
backgroundColor: 'black',
fontSize: '10px'
}
return (
<div style={style}>Hello, YoonHu</div>
);
}
function App() {
const style = {
backgroundColor: 'green',
fontSize: '12px'
}
return (
<div className="testClass">Hello, GodDaeHee!</div>
);
}