게으른 개발자의 끄적거림

React로 웹페이지 만드는 방법

끄적잉 2024. 4. 9. 23:24
반응형

React로 웹페이지 만드는 방법

 

 

React는 JavaScript 라이브러리로, 사용자 인터페이스를 만들기 위해 사용됩니다. 아래는 React를 사용하여 웹 페이지를 만드는 정말 기본적으로 딱 생성만 했습니다.

 

 


1. **프로젝트 설정**: 먼저 React 프로젝트를 설정합니다. 이를 위해 Node.js와 npm(또는 yarn)이 설치되어 있어야 합니다. 그런 다음, Create React App과 같은 도구를 사용하여 프로젝트를 생성합니다.

 


    ```bash
    npx create-react-app my-app
    cd my-app
    npm start
    ```

 

 


2. **컴포넌트 작성**: React에서는 모든 것이 컴포넌트로 구성됩니다. 웹 페이지의 다양한 부분을 컴포넌트로 분해하고, 각 컴포넌트는 자체적인 상태(state)와 생명주기(lifecycle)를 가집니다. 컴포넌트는 함수 컴포넌트 또는 클래스 컴포넌트로 작성할 수 있습니다.

 


    ```jsx
    // 예시: 함수 컴포넌트
    import React from 'react';

    function Header() {
        return (
            <header>
                <h1>Welcome to my website</h1>
            </header>
        );
    }

    export default Header;
    ```

3. **컴포넌트 조합**: 작성한 컴포넌트들을 조합하여 웹 페이지를 만듭니다. 이때, React의 가장 강력한 기능 중 하나인 JSX(JavaScript XML)를 사용하여 컴포넌트를 렌더링합니다.

반응형


    ```jsx
    // 예시: App 컴포넌트에서 Header 컴포넌트를 사용하는 방법
    import React from 'react';
    import Header from './Header';

    function App() {
        return (
            <div>
                <Header />
                <main>
                    <p>This is the main content of the webpage</p>
                </main>
                <footer>
                    <p>Footer content goes here</p>
                </footer>
            </div>
        );
    }

    export default App;
    ```

4. **스타일링**: CSS를 사용하여 컴포넌트를 스타일링합니다. React에서는 일반적으로 CSS 파일을 import하여 스타일을 적용하거나, CSS 모듈 또는 CSS-in-JS 라이브러리를 사용하여 컴포넌트 스타일을 지정할 수 있습니다.

 


    ```css
    /* 예시: 스타일 시트 */
    header {
        background-color: #333;
        color: white;
        padding: 20px;
    }
    ```

5. **상태 관리**: React 애플리케이션에서는 상태(state)를 사용하여 동적인 UI를 관리합니다. 컴포넌트의 상태를 변경하면 React는 자동으로 UI를 업데이트합니다. 상태 관리를 위해 useState 훅이나 Redux와 같은 상태 관리 라이브러리를 사용할 수 있습니다.

 


    ```jsx
    // 예시: useState 훅을 사용한 상태 관리
    import React, { useState } from 'react';

    function Counter() {
        const [count, setCount] = useState(0);

        return (
            <div>
                <p>Count: {count}</p>
                <button onClick={() => setCount(count + 1)}>Increase</button>
            </div>
        );
    }

    export default Counter;
    ```

6. **라우팅**: 다중 페이지 애플리케이션을 만들기 위해 React Router와 같은 라우팅 라이브러리를 사용할 수 있습니다. 이를 사용하면 URL에 따라 다른 컴포넌트를 렌더링할 수 있습니다.

 


    ```bash
    npm install react-router-dom
    ```

    ```jsx
    // 예시: React Router를 사용한 라우팅
    import React from 'react';
    import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
    import Home from './Home';
    import About from './About';
    import Contact from './Contact';

    function App() {
        return (
            <Router>
                <Switch>
                    <Route path="/" exact component={Home} />
                    <Route path="/about" component={About} />
                    <Route path="/contact" component={Contact} />
                </Switch>
            </Router>
        );
    }

    export default App;
    ```

7. **빌드 및 배포**: 개발이 완료되면 React 애플리케이션을 빌드하여 정적 파일로 만든 후, 웹 서버에 배포합니다.

 


    ```bash
    npm run build
    ```

이제 React를 사용하여 간단한 웹 페이지를 만들 수 있는 기본적인 지식을 갖추었습니다. 원하는 기능을 추가하고, 더 복잡한 애플리케이션을 만들기 위해 React의 고급 기능과 다양한 라이브러리를 탐구해보세요.

반응형