본문 바로가기
프로젝트/React

2. App.js 설정 -> React-router-dom

by 동욷 2023. 2. 22.

 App.js가 가장 먼저 실행 될때, App.js를 다른 js파일들을 연결시키는 Router 개념으로 사용한다.

 

npm install react-router-dom

 

 

react-router-dom : 브라우저에서 사용되는 리엑트 라우터

 

<요소>

BrowserRouter - history API를 사용해 URL과 UI를 동기화하는 라우터입니다.

Route - 컴포넌트의 속성에 설정된 URL과 현재 경로가 일치하면 해당하는 컴포넌트, 함수를 렌더링한다.

Link - 'a'태그와 비슷합니다. to속성에 설정된 링크로 이동합니다. 기록이 history스택에 저장됩니다.

Switch - 자식 컴포넌트 Route또는 Redirect중 매치되는 첫 번째 요소를 렌더링합니다. Switch를 사용하면 BrowserRouter만 사용할 때와 다르게 하나 의 매칭되는 요소만 렌더링한다는 점을 보장해줍니다.
사용하지 않을 경우 매칭되는 모두를 렌더링합니다.

 

 

Suspense (react 내장)

: 어떤 컴포넌트를 읽어야하는 데이터가 아직 준비가 되어있지 않을때 리엑트에게 알려주는 메커니즘

: 주로 Loading중을 알림

 

 

코드

 

App.js

 

import React, {Suspense} from 'react';

import {

 BrowserRouter as Router (이름이 기니까 다른 이름으로 명명) ,

 Routes,

 Route,

 Link,

 Switch,

} from 'react-router-dom';

 

import RegisterPage from './RegisterPage/RegisterPage';

import MainPage from './MainPage/MainPage';

 

function App(){

  return(

     <Router>

          <Suspense fallback = {<div>Loading...</div>}>

                <div style={{paddingTop: "150px"}}></div>

                 <div>

                <Routes>

                      <Route path = "/"  element = {<MainPage />} />

                      <Route path = "/register" element = {<RegisterPage /> } />

                 </Routes>

                 </div>

           </Suspense>

     </Router>

 );

};

export default App;

728x90

'프로젝트 > React' 카테고리의 다른 글

4. 회원가입 페이지 (Client -> 프론트엔드)  (0) 2023.02.22
3. Index.js (프론트엔드 시작지점)  (0) 2023.02.22
1. React 생성하기  (0) 2023.02.22