TIL - 리액트 라우터

9189 단어 reactwebdevbeginners

온천



'클래식' 웹사이트: 일반적으로 서버에서 완전히 하나씩 로드되는 경로가 다른 여러 페이지입니다.

React: 단일 페이지 애플리케이션(SPA):
SPA에서 HTML 문서는 애플리케이션이 열릴 때만 로드되며 평생 동안 동일하게 유지됩니다. HTML 문서는 "비어 있습니다". <body>에는 애플리케이션을 로드하는 <script> 태그와 애플리케이션에서 생성한 DOM을 포함하기 위한 하나의 빈 태그가 포함되어 있습니다. 방문한 각 페이지의 콘텐츠는 전적으로 React를 통해 브라우저 내부에 구축됩니다.

따라서 내비게이션 시스템은 자연스럽지 않습니다. 우리는 무엇을 표시할지 결정하기 위해 React Router를 사용합니다. 이 방법으로 우리는 할 수 있습니다
  • 브라우저에 사용자 정의 URL을 표시합니다.
  • 사용자가 책갈피를 사용할 수 있도록 허용
  • 사용자가 이전/다음 브라우저 버튼을 사용할 수 있도록 허용

  • 1. 리액트 라우터를 설치합니다.



    2. 부모 구성 요소(index.js)를 <BrowserRouter />로 래핑합니다.




    import { BrowserRouter } from 'react-router-dom';
       <BrowserRouter>
           <App />
       </BrowserRouter>
    


    3. 메인 <App> 컴포넌트에서 다른 Route를 생성합니다.




    import { Switch, Route } from 'react-router-dom';
    <Switch>
       <Route exact path='/' component={Home} />
       <Route path='/users' component={Users} />
       <Route path='/contact' component={Contact} />
    </Switch>
    


    라우팅은 현재 경로(예:/users)와 표시할 구성요소(예: 사용자) 간의 대응 관계를 설정하는 것을 말합니다.
    스위치에 포함된 경로 중 하나만 주어진 시간에 활성화될 수 있습니다.

    4. <링크>를 사용하여 구성 요소 간 탐색




    import { Link } from 'react-router-dom';
    <ul className='Header'>
       <li><Link to='/'>Home</Link></li>
       <li><Link to='/users'>Users</Link></li>
       <li><Link to='/contact'>Contact</Link></li>
    </ul>
    


    DOM에서 <Link to="..."><a href="..."> 요소를 출력으로 생성합니다.

    내비링크


  • 활성 링크를 대상으로 <Navlink>

  • 
    import { NavLink } from 'react-router-dom';
    
    <ul className='Header'>
       <li>
           <NavLink activeClassName='active' exact to='/'>Home</NavLink>
       </li>
       <li>
           <NavLink activeClassName='active' to='/users'>Users</NavLink>
       </li>
       <li>
           <NavLink activeClassName='active' to='/contact'>Contact</NavLink>
       </li>
    </ul>
    


    Router in depth

    렌더 소품




    <Route path="/contact"
           render={ props => (
                  <Contact tabs= {"valuePassed"} {...props}  />  
            )}
     />
    

    좋은 웹페이지 즐겨찾기