티스토리 뷰

우선 create-react-app 을 하여 설치한 후

npm add react-router-dom 으로 리액트라우터를 설치한다.

 

src 디렉토리에 index.js에 

import { BrowserRouter } from "react-router-dom";

**브라우저라우터는 히스토리 api를 이용해서 실행된다.

를 임폴트 해준뒤

App 컴포넌트를 감싸준다.

 

이후 실습으로 Home.js 와 About.js 를 만들어 각각의 페이지를 구성해 준다.

App.js 로 가서 

import { Route } from "react-router-dom";
//임폴트 해줌



function App() {
  return (
    <div>
      <Route path="/" component={Home} /> 
      //path 는 주소를 나타내며, component는 그 주소에 보여질 컴포넌트를 의미한다
      <Route path="/about" component={About} />
    </div>
  );
}

위와같이하고 실행한 뒤 주소창에  /about 를 뒤에 붙이면

홈과 어바웃이 같이 나타나는 결과를 볼 수 있다.

이는 about도 비어있는 / 슬래쉬에도 속해있기 때문이다.

이때 exact 라는 값을 넣어주면 해결 할 수있다.

이 props 를 넣게되면 경로가 완전하게 일치할때만 보여주겠다는 뜻이 된다.

      <Route path="/" component={Home} exact />

 

Link 컴포넌트 사용하기

누르면 특정 경로로 가고싶을때 사용하는 컴포넌트

**a 태그 사용금지,(페이지가 이동해버림)

 

import { Route, Link } from "react-router-dom";
//링크를 임폴트해주고

      <ul>
        <li><Link to="/">홈</Link></li>
        <li><Link to="/about">어바웃</Link></li>
      </ul>
      
      //이런식으로 해주면 링크가 만들어지고 누르면 바뀐다

이외에 해쉬라우터 메모리라우터도 존재한다.

 

 

벨로퍼트 님의 강좌

https://react.vlpt.us/

'Study > react.js' 카테고리의 다른 글

[노드패키지매니져]npm 과 npx 의 차이점  (0) 2020.01.27
[react]useRef 사용  (0) 2020.01.14
[react] 여러개의 인풋 관리  (0) 2020.01.14
[react Hooks] use Input  (0) 2020.01.13
useEffect 변화의 감지  (0) 2019.12.29
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함