React 라우터 사용 방법

9897 단어 reactwebdevjavascript
이 게시물에서는 반응 프로젝트에 React Router을 포함하는 방법을 보여 드리겠습니다.

사용하기 쉽고 탐색 경험을 개선하는 데 좋습니다.👌🏽

다음은 간단한 탐색 모음(및 홈으로 다시 리디렉션되는 정보 페이지의 버튼)의 데모입니다.



이제 React Router를 시작하는 방법을 살펴보겠습니다.

설치


  • react-router-dom 설치

  • 참고: create-react-app를 프로젝트에 추가하기 전에 이미 작업 중인지 확인하세요.

  • npm install react-router-dom
    


    라우터 포함


  • <App /> 구성 요소를 <BrowserRouter />로 래핑
  • 해당 경로 및 해당 구성 요소
  • 와 함께 각각<Route /> 추가
  • 경로 주변을 감싸십시오<Switch />. Switch는 일치하는 경로를 찾기 시작하고 exact 속성은 우리가 원하는 것과 정확히 일치하는지 확인합니다
  • .
    <Navbar /> 구성 요소는 <NavLink />를 처리하며 이에 대해서는 아래에서 자세히 설명합니다.

    import React from 'react';
    import {BrowserRouter, Switch, Route} from 'react-router-dom';
    import About from './About';
    import Home from './Home'; 
    import Navbar from './Navbar'; 
    
    function App() {
      return (
          <BrowserRouter>
            <Navbar /> 
    
            <Switch>
              <Route exact path="/" component={Home}/>
              <Route exact path="/about" component={About}/>
            </Switch>
    
          </BrowserRouter>
      );
    }
    
    export default App;
    


    NavLink 추가


  • <NavLink />는 클라이언트 측 라우팅(단일 페이지 응용 프로그램 제외)을 사용하는 각 Navbar 링크 역할을 합니다
  • .
  • <NavLink />는 활성/비활성 링크에 CSS를 추가할 수 있는 activeClassName 속성과 함께 제공됩니다.

  • import React from 'react';
    import {NavLink} from 'react-router-dom'
    import './App.css'; 
    
    export default function Navbar() {
        return (
            <div>
                <NavLink 
                    activeClassName="selected"
                    className="not-selected"
                    to="/"
                    exact
                    >HOME</NavLink>
                <NavLink 
                    to="/about"
                    activeClassName="selected"
                    className="not-selected"
                    exact
                    >ABOUT
                </NavLink>
            </div>
        )
    }
    


    useHistory 후크


  • 무엇을 합니까? 탐색에 사용할 수 있는 기록 소품에 대한 액세스를 제공합니다
  • .
  • 즉, useHistory를 리디렉션에 사용할 수 있어 매우 편리합니다!

  • import React from 'react'; 
    import {useHistory} from 'react-router-dom'; 
    
    export default function About() {
        const history = useHistory()
    
        const handleClick = () => {
            history.push('/')
        }
    
        return (
            <div>
                <h1>ABOUT</h1>
                <p>THIS IS THE ABOUT PAGE</p>
                <div>
                    <button 
                        onClick={handleClick}>
                        Back to Home
                    </button>
                </div>
            </div>
        )
    }
    
    
    


    그리고 그게 다야! 😬

    좋은 웹페이지 즐겨찾기