ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • react-router-dom의 HashRouter 사용
    React 2023. 4. 8. 14:27

    HashRouter는 BrowserRouter가 있기 이전에 많이 사용되었다.

    HashRouter를 사용하면, 주소에 #이 붙게 되고 이로인해 SEO에 대응되지 않는다.

    또한 HashRouter는 History location을 지원하지 않는다.

    위와 같은 이유로 요즘에는 잘 사용되지 않는다.

    다만 HashRouter는 BrowserRouter와는 다르게 새로고침을 해도 페이지가 유지된다.
    🍞 새로고침 시 BrowserRouter는 경로를 찾지 못하여 에러가 날 수 있다.
    🍉 SPA는 index.html 파일 하나로 사이트를 구성하기에 새로고침 시 이 파일에 연결되지 않은 경로가 반영되어 에러가 난다.

    따라서 정적 사이트를 만들 때는 HashRouter가 사용될 수 있다.

    import { BrowserRouter, Switch, Route } from "react-router-dom";
    
    ~~ 생략 ~~
    
            <BrowserRouter>
                <Switch>
                    <Route exact path="/">
                        <Main />
                    </Route>
                    <Route exact path="/user">
                        <User />
                    </Route>
                </Switch>
            </BrowserRouter>    
    import { HashRouter, Switch, Route } from "react-router-dom";
    
    ~~ 생략 ~~
    
            <HashRouter>
                <Switch>
                    <Route exact path="/">
                        <Main />
                    </Route>
                    <Route exact path="/user">
                        <User />
                    </Route>
                </Switch>
            </HashRouter>    
Designed by Tistory.