npx create-react-app my-app
cd my-app
npm start

터미널에서 위와 같은 명령을 실행하면 다음과 같은 폴더와 파일들이 만들어짐
cd ..
npx create-react-app todolist--template typescript
cd todolist
npm start
위와 같은 명령을 실행하여 타입스크립트 기반 리액트 파일 생성하기
// App.tsx
import React from 'react';
import logo from './logo.svg';
import './App.css';
function App() {
return (
<div className="container">
<h1 className = "test">Hello, 리액트!!</h1>
<p>반갑습니다.</p>
</div>
);
}
export default App;
// App.css
.container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
background-color: #282c34;
color: white;
}
.test {
background: blueviolet;
color : yellow;
font-size: 48px;
font-weight: bold;
padding: 20px;
}

import React from 'react';
import logo from './logo.svg';
import './App.css';
function App() {
let name = "리액트";
return (
<div className="container">
<h1 className = "test">Hello, {name}!!</h1>
<p>반갑습니다.</p>
</div>
);
}
export default App;
변수 선언 후 사용시 중괄호를 사용한다. 또한. 아래와 같이 조건문도 사용 가능한데, 삼항 연산자만 가능함.
import React from 'react';
import logo from './logo.svg';
import './App.css';
function App() {
let name = "리액트";
return (
<div className="container">
<h1 className = "test">Hello,
{
name === '리액트' ? (<h1>YES</h1>) : null
}!!</h1>
<p>반갑습니다.</p>
</div>
);
}
export default App;
import React from 'react';
import logo from './logo.svg';
import './App.css';
function App() {
const port = undefined;
return (
<div>
{
port || '포트를 설정하지 않았습니다.'
}
</div>
);
}
export default App;
||연산자를 통해undefined인 상태에서의 return 값 지정 가능
function App() {
let name = "리액트";
const style = { // 카멜 표기법 사용
backgroundColor : 'black',
color : 'white',
fontSize : '48px',
fontWeight : 'bold',
padding : '20px'
}
return (
<div style= {
{
backgroundColor : 'black',
color : 'white',
fontSize : '48px',
fontWeight : 'bold',
padding : '20px'
}
}>
<h1 style= {style}>Hello,
{
name === '리액트' ? (<h1>YES</h1>) : null
}!!</h1>
<p>반갑습니다.</p>
</div>
);
}
인라인 스타일링도 가능함
<br />와 같이 태그를 닫아줘야 함.
주석문은 아래와 같이 작성함
import React from 'react';
import logo from './logo.svg';
import './App.css';
function App() {
return (
<div>
{/* 주석문을 작성합니다. */}
</div>
);
}
export default App;