상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - React에서 라우팅을 설정하는 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
React에서 라우팅을 설정하는 방법은 주로 `react-router-dom` 라이브러리를 사용하여 구현됩니다. 이 라이브러리는 React 애플리케이션에서 클라이언트 사이드 라우팅을 관리하는 데 필요한 다양한 컴포넌트와 기능을 제공합니다. 아래에서는 React에서 라우팅을 설정하는 방법을 단계별로 설명하겠습니다. 1. `react-router-dom` 설치 먼저, `react-router-dom` 라이브러리를 설치해야 합니다. npm 또는 yarn을 사용하여 설치할 수 있습니다. ```bash npm install react-router-dom ``` 또는 ```bash yarn add react-router-dom ``` 2. 기본 구조 설정 라우팅을 설정하기 위해서는 React 애플리케이션의 기본 구조를 이해해야 합니다. 일반적으로 `App.js` 파일에서 라우팅을 설정합니다. 3. 라우터 설정 `react-router-dom`에서 제공하는 `B<a href='https://sangseek.com/sangseeks/rowserRouter/ko'>rowserRouter</a>`, `Routes`, `Route` 컴포넌트를 사용하여 라우팅을 설정할 수 있습니다. `BrowserRouter`는 HTML5의 History API를 사용하여 URL을 관리하고, `Routes`는 여러 개의 `Route`를 포함하는 컨테이너 역할을 합니다. ```jsx import React from 'react'; import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; import Home from './Home'; import About from './About'; import NotFound from './NotFound'; function App() { return ( <Router> <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> <Route path="*" element={<NotFound />} /> </Routes> </Router> ); } export default App; ``` 4. 각 페이지 컴포넌트 생성 위의 예제에서 `Home`, `About`, `NotFound`는 각각의 페이지를 나타내는 컴포넌트입니다. 이 컴포넌트들을 생성해야 합니다. ```jsx // Home.js import React from 'react'; function Home() { return <h1>Home Page</h1>; } export default Home; // About.js import React from 'react'; function About() { return <h1>About Page</h1>; } export default About; // NotFound.js import React from 'react'; function NotFound() { return <h1>404 Not Found</h1>; } export default NotFound; ``` 5. 네비게이션 추가 라우팅을 설정한 후, 사용자들이 페이지 간에 이동할 수 있도록 네비게이션을 추가할 수 있습니다. `Link` 컴포넌트를 사용하여 페이지 간의 링크를 생성할 수 있습니다. ```jsx import React from 'react'; import { Link } from 'react-router-dom'; function Navigation() { return ( <nav> <ul> <li> <Link to="/">Home</Link> </li> <li> <Link to="/about">About</Link> </li> </ul> </nav> ); } export default Navigation; ``` 이제 `App` 컴포넌트에 `Navigation` 컴포넌트를 추가하여 네비게이션을 포함시킬 수 있습니다. ```jsx function App() { return ( <Router> <Navigation /> <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> <Route path="*" element={<NotFound />} /> </Routes> </Router> ); } ``` 6. URL 파라미터와 쿼리 스트링 `react-router-dom`은 URL 파라미터와 쿼리 스트링을 쉽게 처리할 수 있는 기능을 제공합니다. URL 파라미터를 사용하려면 `Route`의 `path` 속성에 콜론(`:`)을 사용하여 파라미터를 정의할 수 있습니다. ```jsx <Route path="/user/:id" element={<User />} /> ``` 이제 `User` 컴포넌트에서 `us<a href='https://sangseek.com/sangseeks/eParams/ko'>eParams</a>` 훅을 사용하여 URL 파라미터에 접근할 수 있습니다. ```jsx import React from 'react'; import { useParams } from 'react-router-dom'; function User() { const { id } = useParams(); return <h1>User ID: {id}</h1>; } ``` 쿼리 스트링은 `useLocation` 훅을 사용하여 접근할 수 있습니다. ```jsx import React from 'react'; import { useLocation } from 'react-router-dom'; function Search() { const query = new URLSearchParams(useLocation().search); const name = query.get('name'); return <h1>Search Name: {name}</h1>; } ``` 7. 중첩 라우팅 React Router에서는 중첩 라우팅도 지원합니다. 부모 라우트에서 자식 라우트를 정의하여 더 복잡한 구조를 만들 수 있습니다. ```jsx <Route path="/dashboard" element={<Dashboard />}> <Route path="settings" element={<Settings />} /> <Route path="profile" element={<Profile />} /> </Route> ``` 이 경우, `Dashboard` 컴포넌트 내에서 `Outlet` 컴포넌트를 사용하여 자식 라우트를 렌더링할 수 있습니다. ```jsx import { Outlet } from 'react-router-dom'; function Dashboard() { return ( <div> <h1>Dashboard</h1> <Outlet /> </div> ); } ``` 8. 라우팅 보호 인증이 필요한 페이지에 접근할 때는 라우팅 보호를 구현할 수 있습니다. 예를 들어, 사용자가 로그인하지 않은 경우 로그인 페이지로 리디렉션하는 방식입니다. ```jsx import { Navigate } from 'react-router-dom'; function ProtectedRoute({ element }) { const isAuthenticated = /* 인증 상태 확인 로직 */; return isAuthenticated ? element : <Navigate to="/login" />; } // 사용 예 <Route path="/protected" element={<ProtectedRoute element={<ProtectedPage />} />} /> ``` 결론 React에서 라우팅을 설정하는 것은 `react-router-dom` 라이브러리를 통해 간단하게 구현할 수 있습니다. 기본적인 라우팅 설정부터 시작하여, URL 파라미터, 쿼리 스트링, 중첩 라우팅, 라우팅 보호 등 다양한 기능을 활용하여 사용자 경험을 개선할 수 있습니다. 이러한 기능들을 적절히 활용하여 사용자에게 매끄럽고 직관적인 내비게이션을 제공하는 애플리케이션을 만들 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기