JSX를 사용하면 JS 파일에 HTML과 비슷한 마크업을 작성하여 렌더링 로직과 콘텐츠를 같은 곳에 놓을 수 있다.
return React.createElement(
"img",
{
className: "avatar",
src: "https://i.imgur.com/7vQD0fPs.jpg",
alt: "Gregorio Y. Zara",
}
);
export default function Avatar() {
return (
<img
className="avatar"
src="https://i.imgur.com/7vQD0fPs.jpg"
alt="Gregorio Y. Zara"
/>
);
}
src나 alt를 동적으로 지정하기 위해서 따옴표를 { }로 바꿔 JS값을 사용 가능<img className="avatar" src={avatar} alt={description} />
<h1>{name}'s To Do List</h1>
const today = new Date();
function formatDate(date) {
return new Intl.DateTimeFormat(
'en-US',
{ weekday: 'long' }
).format(date);
}
export default function TodoList() {
return (
<h1>To Do List for {formatDate(today)}</h1>
);
}
export default function TodoList() {
return (
<ul style={{
backgroundColor: 'red',
color: 'pink'
}}>
<li>Improve the videophone</li>
<li>Prepare aeronautics lectures</li>
<li>Work on the alcohol-fuelled engine</li>
</ul>
);
}
style 프로퍼티는 캐멀 케이스 로 작성const person = {
name: 'Gregorio Y. Zara',
theme: {
backgroundColor: 'black',
color: 'pink'
}
};
export default function TodoList() {
return (
<div style={person.theme}>
<h1>{person.name}'s Todos</h1>
<img
className="avatar"
src="https://i.imgur.com/7vQD0fPs.jpg"
alt="Gregorio Y. Zara"
/>
<ul>
<li>Improve the videophone</li>
<li>Prepare aeronautics lectures</li>
<li>Work on the alcohol-fuelled engine</li>
</ul>
</div>
);
}
{person.name}, {person.theme}, "black" 같은 값들, {someFunction()} 같은 계산 결과<div style={{ backgroundColor: 'black', color: 'pink' }}>
<h1>{'Gregorio Y. Zara'}'s Todos</h1>
</div>
const person = {
name: 'Gregorio Y. Zara',
theme: {
backgroundColor: 'black',
color: 'pink'
}
};