Router

Router


React Project์˜ Page Navigation์„ ๋„์™€์ฃผ๋Š” react-router-dom ์ด๋ผ๋Š” ๋ชจ๋“ˆ์ด ์žˆ๋‹ค.

npm install react-router-dom

react-router-dom

import { HashRouter, Route } from "react-router-dom";
//...
    <HashRouter>
      <Route path="/" component={Home}></Route>
      <Route path="/about" component={About}></Route>
    </HashRouter>
//...

๋ผ์šฐํ„ฐ๋Š” path , component 2๊ฐœ์˜ Props์„ ๊ฐ€์ง„๋‹ค.

  • path : uri์™€ ๊ฐ™์œผ๋ฉฐ ๋„๋ฉ”์ธ ์ฃผ์†Œ์—์„œ ๋„ค๋น„๊ฒŒ์ด์…˜ํ•˜๋Š” ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.
  • component : component๋Š” navaigation ์‹œ ๋ถˆ๋Ÿฌ์˜ค๋Š” component๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

โ€œ/aboutโ€ ๊ฒฝ๋กœ๋กœ ์ ‘๊ทผํ–ˆ์„ ๊ฒฝ์šฐ๋„ โ€œ/โ€์„ ๋žœ๋”๋ง ์‹œํ‚จ๋‹ค.
์ด์œ ๋Š” ๋ฆฌ์—‘ํŠธ ์‹œ์Šคํ…œ ์ž์ฒด๊ฐ€ ์ž๊ธฐ ์ž์‹ ์„ ์ฐพ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค(?)

ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

  • ์†์„ฑ๊ฐ’์œผ๋กœ exact={true} ์‚ฌ์šฉ์‹œ ์ž๊ธฐ ์ž์‹ ์˜ ํŒจ์Šค์ผ๋•Œ๋งŒ ๋žœ๋”๋ง ์‹œํ‚จ๋‹ค.

Navigation

<a href=โ€/โ€> or <a href=โ€/aboutโ€> ์€ ์ž‘๋™์ด ์•ˆ๋ ๊ฒƒ์ด๋‹ค.

๋ฆฌ์—‘ํŠธ์—์„œ๋Š” <Link>๋ฅผ ์‚ฌ์šฉํ•ด์ค˜์•ผํ•˜๋ฉฐ html์ด ์•„๋‹ˆ๊ธฐ ๋–„๋ฌธ์— href๊ฐ€ ์•„๋‹Œ to๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

Link๋Š” ๋ผ์šฐํ„ฐ ์•ˆ์—์„œ๋งŒ ์ž‘๋™ํ•œ๋‹ค.

import { Link } from "react-router-dom";
//...
<div>
  <Link to="/">
  <Link to="/about">
</div>
//...

Categories:

Updated:

Leave a comment