🔷 기본적으로 History API 기반의 SPA를 배포하려면 해당 서비스에서 404 에러에 대해 처리할 수 있는 옵션이 필요함.
💡 FallBack
실패했을 때의 대안을 뜻한다. 404 error에 대한 FallBack을 위의 방법들은 각자 다른 방식으로 처리한다.
💡 엑셀의 스프레드시트를 생각하면 쉽다.
💡 레고 블럭을 조립하는 것과 비슷하다.
npx create-react-app first-app
💡 create-react-app
- 리액트 앱을 만들 수 있는 가장 빠른 방법
- JSX라고 부르는 가상 DOM을 그려 return 시킨다.
🌟 생성되는 기본 구조
npm start
🖨 화면
🖥 App.js
import logo from './logo.svg';
import './App.css';
function App() {
// 변수나 상수를 선언하고 {}안에 넣어 사용할 수 있다.
const name = '리액트';
// 조건식으로서 사용할 수도 있다.
const showLink = true;
const showLogo = 'show?';
// 반복문 사용을 위한 상수
const names = ['React', 'Vue', 'Angular'];
return (
// JSX
// JSX에서는 이미 자바스크립트 내에서 예약어인 class 대신 className을 이용하여 클래스 이름을 선언한다.
<div className="App">
<header className="App-header">
{
// 조건 사용
showLogo === 'show' ?
<img src={logo} className="App-logo" alt="logo" />
: <h1>React</h1>
}
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
// 조건 사용 2
{showLink && (
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn {name}
</a>
)}
<ul>
{ // key 값(id)을 적어주어야 성능을 최적화할 수 있다.
// item 리스트 안의 값들이 li 형식으로 반복되며 모두 출력된다.
names.map(item => (
<li key={item}>{item}</li>
))
}
</ul>
</header>
</div>
);
}
export default App;
🖨 화면
오늘은 기초적인 react 지식과 추후 프로젝트 배포를 위한 방법들을 알아보았다.
이제 본격적인 react 학습을 시작할 것이다.