2017-12-26 58 views
0

리다이렉션에 도움이되는 withRouter에 대한 전체 게시물을 읽었지만 제 경우에는 작동하지 않습니다. 내가 로그 아웃 링크를 ckick 때 나는 (우리는 인증을 외부 프로그램에 사용하기 때문에) 주요 응용 프로그램 외부 리디렉션,하지만 필요 URL, 심지어 창 href가 함께withRouter HOC (react-redux)에서 작동하지 않는 React-router-dom 리디렉션

export default withRouter(connect(mapStateToProps, MapDispatchToProps)(Logout)) 

또는 링크, 또는로 리디렉션되지해야합니다. 위치가 렌더링 된 계정 구성 요소에서 리디렉션되지 않습니다. 그리고 콘솔에서 오류가 발생하지 않습니다. 브라우저 기록에도 표시되지 않습니다. 계정 페이지에서 깜박일뿐입니다. 그래서 react-dom-router를 통해 내 애플리케이션에서 다른 외부 사이트로 사용자를 리디렉션 할 수 있습니까?

답변

3

react-router-dom은 SPA (단일 페이지 응용 프로그램) 내에 경로를 만들 수있는 패키지입니다. 두 번째는 링크를 클릭의 동작을 시뮬레이션 반면

window.location.replace("http://stackoverflow.com"); 
window.location.href = "http://stackoverflow.com"; 

첫 번째는 HTTP 요청의 동작을 시뮬레이션합니다 : 외부 웹 사이트로 리디렉션하려면 두 가지 옵션이 있습니다.

+0

이것이 유일한 해결 방법 인 것으로 보입니다. 감사. –

+0

componentWillUpdate 또는 다른 장소에서이 옵션 중 하나를 사용해야합니까? –

+0

일반 JS이므로 아무 데나 사용할 수 있습니다. 그냥 로그 아웃 버튼 클릭을 처리하는 함수에 넣으십시오. –