리액트

route

나는시화 2023. 11. 21. 19:18

페이지 이동할 때 사용하는 라이브러리 

a태그를 사용하면 새로고침이 되기 때문에 Link를 사용함.

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import { BrowserRouter } from 'react-router-dom';

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <BrowserRouter> {/** BrowserRouter로 감싸기  */}
      <App />
  </BrowserRouter>
);

// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();

 

 

 

import React from 'react';
import { Route, Routes } from 'react-router-dom';
import HomePage from './HomePage';
import LoginPage from './LoginPage';

const RouteHomePage = () => {
  return (
    <Routes>
      <Route path="/" exact={true} element={<HomePage/>} /> {/** 화면에서 객체를 바꿔치기 해주는 것. */}
      <Route path="/login/:id" exact={true} element={<LoginPage/>} />
    </Routes>      
  );
};

export default RouteHomePage;

 

 

 

          <ul>
            <li>
              {/* <a href="/">홈</a>  // a태그를 쓰게되면 비동기 식이 아닌 페이지를 전체 새로고침하기 때문에 사용하지 않음. */}
              <StyledLoginLink to="/"></StyledLoginLink> {/** 그렇기 때문에 Link를 사용함, NavLink 태그도 있음. */}
            </li>
            <li>
              <Link to="/login/10">로그인</Link>
            </li>
          </ul>