0

ローカライズされたサイトがあり、場合によってはルートをリダイレクトする必要があります。たとえば、ユーザーのUIをスペイン語に設定してmysite.com/aboutに行った場合は、mysite.com/es/aboutにリダイレクトする必要があります。私が間違っている上だかどうかを確認するために<App>componentWillMountライフサイクルメソッド内でチェックするのに十分な単純なものでしょうコンポーネントライフサイクル内でリダイレクトするreact-router-redux push

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

:だから、基本的には、ルートが反応し、ルータから<Route>コンポーネントを経由して複製され

<Route>コンポーネントですが、アプリケーション内のすべてのリンクを前に置く必要がありますが、これはやりたくありません。代わりに、最初の段落に表示されているように、私は外国語の動的リダイレクトを希望します。

これはどのように可能ですか?

答えて

0

反応ルータフックを使用する代わりに、コンポーネントのライフサイクルを使用するよりもクリーナー(小さいコンポーネント)で簡単になります。最初のものは、第二は、あなたがしたいリダイレクトと3分の1はあなたが値をテストが終了したときに呼び出すコールバックである次の状態であるので、あなたはすべての3つの引数を使用する必要があなたのケースで

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

。 は、私はあなたにこれを行う方法についてexempleを与えることができますが、私は本当にあなたのアプリは、このリンクをチェックするので、代わりに構成されているのか分からない、それは私をたくさん助けた:

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

は、このことができます願っています!

ps:場合によってはonChangeフックも定義する必要があります。ページング...

関連する問題