React js 사용해서 웹앱 만드는 방법
HTML과 JavaScript의 조합인 JSX를 통해 개발자는 자연스럽게 뷰를 생성할 수 있어서 React.js는 취업시장에서 수요가 많은 프런트 엔드 JavaScript 프레임워크입니다.
1) React는 Model-View-Controller MVC SW 모델에서 'VIEW'에 초점을 맞춥니다. 따라서 React는 라우팅, 상태 관리, API 액세스에 다른 라이브러리를 사용할 수 있습니다.
MVC sw design pattern선행 공부 요소:
Node.js 및 npm의 패키지 관리
Git.
2)JSX란?
React에는 JSX(JavaScript XML)라는 특수 구문이 사용됩니다. JSX를 사용하면 HTML과 JavaScript를 단일 파일 또는 코드에 통합할 수 있습니다. Visual Studio Code는 JSX 파일용 IntelliSense를 제공하므로 React를 사용하여 작업하는 경우 JSX는 유용한 도구입니다
브라우저는 JSX를 기본적으로 지원하지 않습니다. 따라서 브라우저가 렌더링하려면 JSX 파일에서 JavaScript 및 HTML을 생성해야 합니다. 이때 생성하는 작업에는 webpack, parcel, snowpack이 사용 가능합니다
3)Component 란?
React 개발은 컴포넌트를 기반으로 합니다. 컴포넌트는 표시 및 작업 모두의 독립형 단위로, 애플리케이션에서 다시 사용할 수 있습니다. 컴포넌트를 사용하여 애플리케이션을 더 작은 청크로 논리적으로 분할합니다.
4)시작하기
i) Snowpack을 사용하여 React app개발 위해서 필요한 최소구조 : 2개의 file, 2개의 약
필요한 패키지 설치
package.json 의 패키지 및 스크립트 목록
package:
React용 React
브라우저 안에 애플리케이션을 탑재하기 위한 ReactDOM
(*Document Object Model 문서의 각 항목을 계층으로 표현하여 생성, 변형, 삭제할 수 있도록 돕는 인터페이스)
Scripts:
Snowpack 개발 서버 실행하기 위한 dev:
-모든 JavaScript 및 HTML 파일을 가상으로 빌드함.
-서버를 호스트하고 파일이 변경되면 자동으로 서버를 다시 시작.
배포용 프로덕션 파일을 생성하기 위한 build
snowpack.config.json 에는 Snowpack의 핵심 구성이 들어 있습니다.
mount 는 Snowpack 서버용 가상 디렉터리를 두 개 만듭니다.
public 에는 모든 정적 파일(HTML, CSS, 이미지)이 들어 있습니다. /로 호스트됩니다.
src 에는 모든 JSX 파일 및 연결된 React 파일이 들어 있습니다. dist로 호스트됩니다.
public 에는 모든 정적 파일이 들어 있습니다.
src 에는 모든 React 파일이 들어 있습니다.
ii) App host 만들기
- index.html 파일은 React 애플리케이션을 호스트합니다.
- index.jsx 파일은 애플리케이션을 탑재합니다.
public 폴더의 기본적인 index.html
<div id="app"></div>
- React 애플리케이션을 호스트하는 HTML 요소를 만듭니다.
- Component를 해당 ID로 호출하여 애플리케이션을 렌더링합니다.
<script type="module" src="/dist/index.js"></script>
- JavaScript를 로드합니다.
iii)React app에 대한 진입점 만들기
HTML 내의 React app을 랜더링하는 코드가 필요합니다 (일반적으로 index.jsx)
Src 폴더의 index.jsximport
index.jsx : 모든 component 또는 jsx 파일에서 React library를 가져옴 --> ReactDOM 라이브러리는 HTML내에서 APP을 렌더링 합니다.
ReactDOM.render
두개의 매개변수가 사용됨 (h1_제목, app_ ID가 app인 component)
iv)Component 만들기
컴포넌트: React 프레임워크에서 재사용 및 모듈화를 고려해서 설계된 함수 / 클래스
src dir의 App.jsx, 보통 app에는 있음컴포넌트를 사용하여 app update
iii) 에서 작성한 index.jsx를 염
import ReactDOM from 'react-dom'; 아래에 import App from './App';를 추가
<h1>Hello, world!</h1>를 지우고 <App /> 로 바꿈
v)동적 데이터
컴포넌트 내에 dynamic data 표시하려면 {} 핸들바 구문을 사용합니다
핸들바를 이용한 현재시각 나타내기 코드 예시
핸들바{}를 사용해 <h2> component안에 title 값 표시
vi) 개발한 서버 확인
http://localhost:8080React.js 의 구조
public
- HTML, CSS, 이미지 또는 기타 정적 파일이 들어 있습니다.
- index.html 및 index.css 파일이 저장됩니다.
src
- 렌더링해야 하는 모든 파일이 들어 있습니다.
- 모든 .jsx 파일이 저장됩니다.
- package.json: 애플리케이션의 패키지 및 스크립트 목록이 들어 있습니다.
- snowpack.config.js: Snowpack에 대한 구성 옵션이 들어 있습니다.
댓글
댓글 쓰기