

function HelloMessage({ name }) {
return <div>Hello {name}</div>;
}
ReactDOM.render(
<HelloMessage name='Soo' />,
document.getElementById('root')
);
$ npx create-react-app react-app
$ npm start
const element = <h1>Hello!</h1>;
코드량 감소

리액트 엔진이 JSX를 내부적으로 자바스크립트 코드로 변환

가독성 향상
팀의 생산성 향상



function App() {
return (
<div>안녕하세요.</div>
<div>정수아입니다.</div>
);
}
function App() {
return (
<div>
<div>안녕하세요.</div>
<div>정수아입니다.</div>
</div>
);
}
<> </> 이렇게 작성 가능function App() {
return (
<>
<div>안녕하세요.</div>
<div>정수아입니다.</div>
</>
);
}
function App() {
// 자바스크립트 코딩은 여기에
const name = 'Sooa'
return (
// 페이지의 구조만 잡음
<div>
<div>안녕하세요.</div>
<div>{name}</div>
</div>
);
}
function App() {
const name = 'Sooa'
return (
<div>
{/* 자바스크립트 표현식이기 때문에 {}로 묶음 */}
{ name === 'Sooa' ? (<h1>선생님</h1>) : (<h1>학생</h1>) }
</div>
);
}
특정 조건을 만족할 때 내용을 보여주고, 만족하지 않을 때 아무것도 렌더링하지 않아야 하는 경우에 사용
function App() {
const name = 'Sooa'
return (
<div>
{ name === 'Sooa' ? (<h1>선생님</h1>) : null }
</div>
);
}
function App() {
const name = 'Sooa'
return (
<div>
{/* 조건이 false면 아무것도 출력하지 않음 */}
{ name === 'Sooa' && <h1>선생님</h1> }
</div>
);
}
<img> , <br> , <input> 등function App() {
return (
<div>
<div>안녕하세요.</div>
<img src="logo512.png">
</div>
);
}
function App() {
const name = 'Sooa'
return (
<div className="myclass">
<div>안녕하세요.</div>
<div>{name}</div>
</div>
);
}
function App() {
const name = 'Sooa'
const style = {
backgroundColor : 'red',
fontSize : '12px'
}
return (
<div style={style}>
<div>안녕하세요.</div>
<div>{name}</div>
</div>
);
}
function App() {
const name = 'Sooa'
return (
<div>
{/* 주석 사용 방법 */}
<div>안녕하세요.</div>
<div>{name}</div>
</div>
);
}

함수형 컴포넌트
function Welcome() {
return <h1>Hello</h1>;
}
클래스형 컴포넌트
class Welcome extends React.Component {
render() {
return <h1>Hello</h1>;
}
}
import React from 'react';
function TodaysPlan() {
return (
<div className='message-container'>
놀러가자
</div>
);
};
export default TodaysPlan;
import TodaysPlan from './TodaysPlan';
function App(){
return (
<>
<TodaysPlan/>
</>
);
}
export default App;