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.jsx

    import

    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:8080

    React.js 의 구조 

    public

    • HTML, CSS, 이미지 또는 기타 정적 파일이 들어 있습니다.
    • index.html 및 index.css 파일이 저장됩니다.

    src

    • 렌더링해야 하는 모든 파일이 들어 있습니다.
    • 모든 .jsx 파일이 저장됩니다.
    애플리케이션 구성 파일 

    • package.json: 애플리케이션의 패키지 및 스크립트 목록이 들어 있습니다.
    • snowpack.config.js: Snowpack에 대한 구성 옵션이 들어 있습니다.

    애플리케이션 세가지 기본 패키지 

    • Snowpack: JSX를 HTML 및 JavaScript로 렌더링하는 데 사용됩니다.
    • React: 구성 요소를 만드는 데 사용됩니다.
    • React-DOM: 애플리케이션을 탑재하는 데 사용됩니다.
    •            
    •                           

    댓글

    이 블로그의 인기 게시물

    시험에 나오는 전기공사 산업기사정리 전기기기-직류기의 구조

    익리덤 없는사람은 불쌍해,,후기, 단점, 도색 (MGEX 스트라이크 프리덤)

    주식의 기술적 분석- 이큐볼륨차트(EQui volume chart)