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의 고급 기능과 다양한 라이브러리를 탐구해보세요.
'게으른 개발자의 끄적거림' 카테고리의 다른 글
HTTP 요청 request란? (0) | 2024.04.16 |
---|---|
Java Multipart란? MultipartRequest 파일 업로드 (0) | 2024.04.15 |
URL 직접 접근 제한하는 방법(feat. 인증, IP, HTTP 제한 등) (0) | 2024.04.09 |
구글 SEO 상위 노출 원론적인 방법 (1) | 2024.04.03 |
JavaScript $.fn 사용자 정의 함수란? (0) | 2024.03.28 |