2016-10-26 5 views
5

나는 advanced react/redux 튜토리얼을 끝 마치고 강사가 browserHistory.push를 사용하여 경로에 연결하는 과정에 참여했습니다. contextTypes라는 정적 클래스 변수를 만드는 데 사용했던 이전 방법과 달리 React.PropTypes.blah blah blah와 비슷한 값으로 설정하십시오.React Router - BrowserHistory.Push VS. ContextTypes

browserHistory.push와 다른 점은 무엇입니까? browserHistory.push는 컨텍스트 유형을 설정하는 것과는 대조적으로 프로그래밍 방식 리 라우트로 훨씬 더 쉽게 보입니다.

감사합니다!

답변

0

사용하는 자습서가 확실하지 않으므로 어둠 속에서 약간의 장면입니다.

처음 튜토리얼에서 라우터 상태를 redux 상태와 동기화하고 라우터 객체를 컨텍스트에 포함시키는 것과 같은 것을 사용한다고 가정합니다. 그러면 다음과 같이 할 수 있습니다 :

this.context.router.push(location) 위치 변경을 보내려면 이렇게하면 위치 변경이 redux 상태로 저장되고 새 경로가로드됩니다.

코어 react-router-redux (및 기타 많은 라우팅 라이브러리)에서는 https://github.com/ReactTraining/history을 사용하여 탐색 한 경로의 내역을 관리합니다. 이를 통해 최신 브라우저에서 HTML5 기록 API를 사용하거나 hashHistory (index.html/# page-one) 또는 메모리 기록에서 다시 서버 측으로 렌더링 할 수 있습니다.

기록 패키지에는 자체 API가 제공됩니다. 그리고 튜토리얼에서 browserHistory.push()은 히스토리 패키지의 해당 API를 직접 호출합니다 (see here).

앱이 새 경로를로드하게 만들지 만, 아마도 redux 상점에 동기화를 우회 할 것입니다.

두 번째 튜토리얼에서는 react-router-redux를 사용하지 않았거나 설정이 다를 수 있습니다.

관련 문제