0

그래서 지역화 된 사이트를 가지고 있고, 어떤 경우에는 경로를 리디렉션해야합니다. 사용자가 자신의 UI가 스페인어로 설정했고, mysite.com/about에 가서 예를 들어, 그들은 mysite.com/es/about로 리디렉션해야합니다.리디렉션 반응-라우터 REDUX 밀어 구성 요소 라이프 사이클 내에서

은 그래서 기본적으로 노선들은 반응 라우터에서 <Route> 구성 요소를 통해 중복 :

{Object.values(UILanguages).map(locale => { 
    return (
    <Route path={`${locale.basepath}`} key={locale.basepath} locale={locale} component={App} status={200}> 
     ...routes go here 
    </Route> 
) 
})} 

내가 잘못에있어 있는지 확인하기 위해 <App>componentWillMount 라이프 사이클 메서드 내에서 확인할 수있을만큼 간단 할 것 <Route> 구성 요소가 있지만 내 응용 프로그램의 모든 단일 링크를 앞에 추가해야 할 것입니다. 대신 첫 번째 단락에 표시된대로 외국어에 대한 동적 리디렉션을 원합니다.

어떻게 가능합니까?

답변

0

사용 대신 청소기 (작은 구성 요소) 수와 구성 요소의 라이프 사이클을 사용하는 것보다 간단합니다 라우터 후크 반응. 첫 번째는 두 번째는 당신이 만들고 싶어 리디렉션되는 다음 상태이며, 세 번째는 당신이 값을 테스트 할 때 호출 할 콜백 있기 때문에 귀하의 경우

https://github.com/ReactTraining/react-router/blob/master/docs/API.md#onenternextstate-replace-callback

당신은 3 개 인수를 사용할 필요가 . 이 도움이

https://www.youtube.com/watch?v=JicUNpwLzLY&t=359s

희망 : 내가 당신에게이을하는 방법에 대한 exemple을 줄 수 있지만 난 정말 앱이 너무 대신 구성이 링크를 확인하는 방법을 모르는, 그것은 나에게 많은 도움이!

ps : 어떤 경우에는 onChange 후크도 정의해야합니다. 예 : 페이지 번호 ...