REACTROUTER 사용

11950 단어 react-routerReact
REACT ROUTER 편리합니다.버전 변화에 따라 사용법도 크게 달라진다고 한다.여기.에 자세한 문서가 있습니다.사용법을 시험해 보겠습니다.

차리다


create-react-app로 프로젝트를 제작합니다.

$ create-react-app route-test

react-router-dom을 설치합니다.


react-router-dom의 버전은 4.0.0입니다.
$ yarn add react-router-dom

개발 서버 시작.

$ yarn start

시험해 보다


src/index.js
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router, Route, Link } from 'react-router-dom'
import './index.css';

const Home = () => (
    <div>
        <h2>Home</h2>
    </div>
)

const About = () => (
    <div>
        <h2>About</h2>
    </div>
)

const Contact = () => (
    <div>
        <h2>Contact</h2>
    </div>
)

const Child = ({ match }) => (
    <div>
        <p>{match.params.id}です</p>
    </div>
)

const App = () => (
    <div>
        <Nav />
        <Router>
            <div style={{padding: '10px'}}>
                <p>
                    <Link to="/">Home</Link>&nbsp;
                    <Link to="/about">About</Link>&nbsp;
                    <Link to="/contact">Contact</Link>&nbsp;
                </p>

                <hr />

                <Route exact path="/" component={Home}/>
                <Route path="/about" component={About}/>
                <Route path="/contact" component={Contact}/>

                <hr />

                <Route exact path="/" render={() => (
                    <p>ホームページにようこそ</p>
                )} />
                <Route path="/:id" component={Child}/>
            </div>
        </Router>
        <Footer />
    </div>
)

const Nav = () => (
    <div className="Nav" style={{ background: '#6cf', padding: '20px 10px' }}>
        Navbar
    </div>
)

const Footer = () => (
    <div className="footer" style={{textAlign: 'center'}}>
        <hr />
        Footer
    </div>
)

ReactDOM.render(
    <App />,
    document.getElementById('root')
);

캡처



뻔한 일

  • Router에 태그 하나만 포함
  • Link를 통해 링크를 만들고 브라우저의 기록에 무단으로 로그인
  • 현재 위치가 path와 일치할 때만 Route가 구성 요소를 표시할 수 있음
  • Route에 exact를 추가하면 설정된 path가 완전히 일치하는 상황에서만 일치
  • Route path에:(콜론)을 추가하면 URL 매개 변수로 사용할 수 있습니다.match.params.Hoge에서 URL 매개 변수의 내용을 가져올 수 있습니다.
  • 좋은 웹페이지 즐겨찾기