728x90

Create-React-App의 구조를 우리가 만드려는 목적에 맞게 고쳐보자.

 

먼저 Create-React-App의 구조를 봐보자.

참조 : create-react-app.dev/docs/folder-structure/

 

Folder Structure | Create React App

After creation, your project should look like this:

create-react-app.dev

 

 

 

 

 

 

 

 

HOC이란? 

Higher-Order Component의 약자로, 컴포넌트를 포함한 메소드이다.

 

 

 

위와 같이 폴더 및 파일을 생성하고 각 js 파일에 Functional Component를 만든다.

 

 

 

 

 

이제 App.js 파일을 수정해보자. App.js 에서는 각 페이지간에 이동할 때 라우팅 해주는 역할을 한다. 이렇게 페이지 이동을 할 때 React Router Dom 이라는 것을 사용한다.  

참조 : reactrouter.com/web/example/basic

 

React Router: Declarative Routing for React

Learn once, Route Anywhere

reactrouter.com

 

 

먼저 client 디렉토리로 이동 후 React Router Dom을 다운받자.

$npm install react-router-dom --save

 

 

 

 

import React from 'react'

import {
  BrowserRouter as Router,
  Switch,
  Route,
  Link
} from "react-router-dom"; 



import LandingPage from './components/views/LandingPage/LandingPage';
import LoginPage from './components/views/LoginPage/LoginPage';
import RegisterPage from './components/views/RegisterPage/RegisterPage';

function App() {
  return (
    <Router>
      <div>
         
        {/*
          A <Switch> looks through all its children <Route>
          elements and renders the first one whose path
          matches the current URL. Use a <Switch> any time
          you have multiple routes, but you want only one
          of them to render at a time
        */}
        <Switch>
          <Route exact path="/" component={LandingPage} />
          <Route exact path="/login" component={LoginPage} />
          <Route exact path="/register" component={RegisterPage} />
        </Switch>
      </div>
    </Router> 
  );
} 

export default App;


App.js 를 위와 같이 작성한다.

 

 

 

 

npm run start 결과

 

 

 

 

 

 

 

 

728x90

+ Recent posts