create-react-app의 index.js vs App.js

    

 `create-react-app` (CRA)은 React 기반 프로젝트를 시작할 때 주로 사용하는 도구입니다. CRA를 사용하여 새 프로젝트를 생성하면, 기본적으로 `App.js`와 `index.js` 두 개의 주요 파일이 생성됩니다. 각 파일의 용도는 다음과 같습니다:


1. **index.js**:


    - **진입점**: 프로젝트의 진입점(entry point) 역할을 합니다. 여기서 React 코드는 실제 웹 페이지의 DOM에 렌더링됩니다.

    - **ReactDOM.render()**: 이 함수는 React 컴포넌트를 DOM에 연결하는 역할을 합니다. `index.js`에서는 `<App />` 컴포넌트가 `root`라는 DOM 요소에 연결되도록 설정됩니다.

    - **Service Worker**: CRA는 Progressive Web App(PWA) 지원을 위해 service worker 설정을 포함할 수 있습니다. 이는 `index.js`에서 설정되거나 제거될 수 있습니다.


    ```jsx

    import React from 'react';

    import ReactDOM from 'react-dom';

    import './index.css';

    import App from './App';


    ReactDOM.render(<App />, document.getElementById('root'));

    ```


2. **App.js**:


    - **주요 컴포넌트**: 프로젝트의 주요 React 컴포넌트입니다. 초기에는 간단한 화면을 출력하도록 설정되어 있지만, 대부분의 개발자는 이 파일을 애플리케이션의 주요 레이아웃 및 로직을 포함하도록 확장합니다.

    - **기본 레이아웃**: 여기서 애플리케이션의 헤더, 푸터, 네비게이션 등의 주요 레이아웃 요소를 설정할 수 있습니다.

    - **스타일 및 로고**: 초기 `App.js`에는 CRA의 로고와 관련된 스타일이 포함되어 있습니다. 프로젝트의 요구 사항에 맞게 이 부분을 수정하거나 제거할 수 있습니다.


    ```jsx

    import React from 'react';

    import logo from './logo.svg';

    import './App.css';


    function App() {

      return (

        <div className="App">

          {/* ... */}

        </div>

      );

    }


    export default App;

    ```


결론적으로, `index.js`는 애플리케이션을 웹 페이지에 연결하는 역할을 하며, `App.js`는 애플리케이션의 주요 내용 및 레이아웃을 정의하는 역할을 합니다.

댓글

이 블로그의 인기 게시물

js 스트링에서 요소 갯수 세기

STUDY

javascript cheatsheet