React & Library/Router

[React Router] 특정 경로 접속 시, 다른 경로로 변경 (리다이렉트) 하기

yoonjong Park 2021. 8. 2.

코드 자체는 매우 간단하다. (간단한 몇 줄이지만, 굉장히 자주 쓰이는 코드라서 기록해둔다.) 

  <Route
    path="/theme"
    render={(props) => (
      <>
        {props.history.push(
        	props.history.location.pathname.replace("/theme", "/donation")
        )}
      </>
    )}
  />

/theme 라는 경로는 과거에 사용하던 경로였다. 이른 donation 경로로 했으면, 아예 다른 라우터로 잡고, 과거의 경로로 접속할 경우, push로 새로 링크를 잡고 연결해주면 된다.

만약, props 정보로 history를 사용하지 못하는 경우는 useHistory를 연결하고나서 사용하면 되겠다. 그런 경우는 아마....router  컴포넌트는 아닐 것 같다.

댓글