React는 JSX 코드로 Component를 작성하고 컴포넌트의 상태(State)를 변화시키지 않고 관리한다
변화가 일어나면 실제 브라우저의 DOM에 새로운 것을 적용하는 것이 아니라,
JavaScript로 이루어진 Virtual DOM에 렌더링을 하고 기존의 DOM과 비교하여 변화가 일어난 곳만 업데이트 한다.
웹 뿐만 아니라 앱 개발( React Native )에도 사용
페이스북이 지원함
중대형 프로젝트 작업에서 선호
Virtual Dom을 사용
JSX (JavaScript XML)는 Javascript에 XML을 추가한 확장한 문법이다
npm install -g create-react-app
설치.cd
로 타겟으로 경로를 이동. create-react-app 이름
으로 리액트 앱을 설치한다.App.js
function App() {
return (
<div>
helloWorld
</div>
);
}
export default App;
모든 페이지의 구현은 App.js
부터 시작된다.
return
안에 구현.
+ export default App;
를 써서 index.js
에게 export한다.
index.js
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
App.js
로부터 import받았다. root.render
에서 구현했던app.js
를 <React.StrictMode>
에 감싸서 root 변수에 담아 보낸다.
index.html
에서 id = root로 사용함.
(목표:React가 지원하는 서버 사용)
npm run build : 빌드 명령이 실행되면 build 폴더가 생성.
npm install -g serve : npm을 이용하여 디렉토리에 상관없이 간단한 서버 설치.
npx serve : 웹 서버 실행
npx serve -s build : 일회용 웹 서버를 실행.
정리 :
- 개발 중에는 npm start 또는 npm run start
- 개발이 완료되어 배포를 하려면 npm run build
package.json
에 해당 코드를 추가한다."homepage": "http://localhost/톰캣프로젝트명/"
>npm run build
index.html
을 서버로 실행시킨다.(상단) 톰캣서버 | (하단) 리액트서버