JSX 표현식을 반환 할때
function getGreeting(user) {
if (user) {
return <h1>Hello, {formatName(user)}!</h1>;
}
return <h1>Hello, Stranger.</h1>;
}
어트리뷰트에 JavaScript 표현식을 삽입할 때 중괄호 주변에 따옴표를 입력하지 마세요. 따옴표(문자열 값에 사용) 또는 중괄호(표현식에 사용) 중 하나만 사용하고, 동일한 어트리뷰트에 두 가지를 동시에 사용하면 안 됩니다.
JSX는 HTML보다는 JavaScript에 가깝기 때문에, React DOM은 HTML 어트리뷰트 이름 대신 camelCase
프로퍼티 명명 규칙을 사용합니다.
예를 들어, JSX에서 class
는 className
가 되고 tabindex는 tabIndex
가 됩니다.
const element = <img src={user.avatarUrl}></img>;
이런식으로, javascript는 중괄호를 써준다.
Babel은 JSX를 React.createElement()
호출로 컴파일합니다.
다음 두 예시는 동일합니다.
const element = (
<h1 className="greeting">
Hello, world!
</h1>
);
const element = React.createElement(
'h1',
{className: 'greeting'},
'Hello, world!'
);
// 주의: 다음 구조는 단순화되었습니다
const element = {
type: 'h1',
props: {
className: 'greeting',
children: 'Hello, world!'
}
};
위와 같이 객체 또한 만들 수 있음.