react-router 대 react-router-dom, 언제 둘 중 하나를 사용해야합니까?


123

둘 다 Route, Link 등이 있습니다. 둘 중 하나를 언제 사용해야합니까? 나는 각각을 어디에 사용하는지 정말로 혼란 스럽습니다. 서버 측? 고객 입장에서?

https://reacttraining.com/react-router/

일부 예에서는 역사를 전달해야하고 다른 예에서는 전달해야합니다. 무엇을해야합니까?

<Router history={browserHistory}>

vs

<Router>

둘 중 하나를 사용해야 할 때 정말 혼란 스럽습니다. 어떤 도움을 주셔서 감사합니다.


답변:


151

react-router 에는 react-router-domreact-router-native 사이의 모든 공통 구성 요소가 포함되어 있습니다 . 언제 다른 하나를 사용해야합니까? 웹에있는 경우 react-router-dom 은 필요한 공통 구성 요소를 내보내므로 필요한 모든 것을 갖추고 있어야합니다. React Native를 사용하는 경우 react-router-native 는 동일한 이유로 필요한 모든 것을 갖추고 있어야합니다. 따라서 react-router 에서 직접 가져올 필요가 없을 것입니다 . 당신이 사용하는 한

<Router history={browserHistory}>

vs

<Router>

RRv4에서는 이전 버전의 라우터에만 해당되는 browserHistory를 전달할 필요가 없습니다.

여전히 헷갈 린다면 여기 에서 각 패키지에 대한 세부 정보를 확인할 수 있습니다.


2
프로젝트에서 react-router를 제거해야합니까, 아니면 react-router-dom에 영향을 미칩니 까 ?? react-router-dom과 함께 작동하려면 react-router 패키지가 필수입니까?
YÒGÎ

3
@snAtchnAren 필수가 아닙니다. 이미 "react-router-dom"을 설치했다면 "react-router"패키지가 필요하지 않습니다.
Tyler McGinnis

2
react-router보다 react-router-dom을 사용하면 번들의 크기가 줄어 듭니까?
Vrishank

26

react-router-dom은 react-router플러스입니다 :



6

v4에서 react-router는 핵심 구성 요소와 기능을 내 보냅니다. react-router-dom은 <Link>(렌더링하는 <a>) 및 (브라우저의 window.history와 상호 작용하는) 같은 DOM 인식 구성 요소를 내 보냅니다 .

react-router-domreact-router의 모든 내보내기를 다시 내보내므로 react-router-dom프로젝트에서 가져 오기만하면됩니다 .


하지만 npm이 react-router와 react-router-dom을 따로 설치해야합니까?
joedotnot
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.