3
많은 양질의 문서를 찾을 수 없습니다. React Router v4 문서에는 'history'객체에 대한 정보가 있지만 변경 가능하고 변경해서는 안됨을 명시합니다. 내가 본 많은 사례는 '해킹'처럼 보입니다. 모든 통찰력은 인정 될 것이다.react router v4 프로그래밍 방식으로 경로 변경
많은 양질의 문서를 찾을 수 없습니다. React Router v4 문서에는 'history'객체에 대한 정보가 있지만 변경 가능하고 변경해서는 안됨을 명시합니다. 내가 본 많은 사례는 '해킹'처럼 보입니다. 모든 통찰력은 인정 될 것이다.react router v4 프로그래밍 방식으로 경로 변경
나 자신을 반응하는 초보자로서 잠시 동안 잡아야했다. @ToddChaffee가 제공 한 링크를 통해 좋은 통찰력을 얻을 수 있지만 this 스레드는 <Router/>
이 최상위 구성 요소 일 때 기록 개체가 자동으로 소품으로 전달된다는 것을 강조 표시합니다. 따라서 히스토리 오브젝트를 별도로로드하고 createBrowserHistory()
메소드를 사용하는 것보다 훨씬 간단합니다.
은 나를 위해 일한 다음 :
<Route exact path='/' render={({history}) =>
<Home infoHandler={this.handleUserInfo}
imageHandler={this.handleImage}
history={history}/>
}/>
을 그리고 당신이 할 수있는 구성 요소 내부 :
this.props.history.push('/routeYouWantToGoTo');
는 모듈 내보내기 전에 구성 요소에 소품 유형 체킹하는 것을 잊지 마세요 :
를Home.propTypes = {
history: React.PropTypes.object
}
export default Home;
이것은 이미 여기에 답변되었습니다. http://stackoverflow.com/questions/42672842/how-to-get-history-on-react-rou ter-v4. 희망이 도움이됩니다. –
@ToddChaffee 아 아아. 히스토리에 새로운 라우트를 푸는 것은 좋지만 히스토리 오브젝트의 위치 특성을 변경할 수 없으므로 신뢰하지 않는 것 같습니다. 감사! –
예, 말씀하셨습니다. 히스토리 객체를 사용하여 새 경로를 푸시하는 것은 제 경험에서 올바르게 작동합니다. –