2017-12-11 16 views
1

私はリアクションルータv4.2を使用していますが、内部のリダイレクトスイッチはコンポーネントのマウントをトリガーしません。私は状態管理ライブラリを使用していないので、それはちょうど純粋な反応コードであり、バグはChromeでのみ起こります! これは、ルーティングと私のアプリのコンポーネントです:Chromeのリダイレクト時にリダイレクトルータが搭載されていないリアルータ

const App =() => (
    <section id="content"> 
     <div className="container"> 
      <Switch> 
       <Redirect exact from='/' to='/entries/voto'/> 
       <Route path="/entries/:order" component={EntryList}/> 
      </Switch> 
     </div> 
    </section> 
) 
export default App; 

私は'/'でウェブサイトのURLを入力すると指定したurl(/entries/voto)がブラウザに表示が、何のライフサイクルメソッドが呼び出されていない、いなくても、コンストラクタ、私は信じていますshouldComponentUpdateメソッドを実装していないEntryListコンポーネントに依存するものはありません。

答えて

0

私はよく分からないが、あなたは私がcomponentを変更し、renderに置き換えるあなたのコードこの

const App =() => (
<section id="content"> 
    <div className="container"> 
     <Switch> 
      <Redirect exact from='/' to='/entries/voto'/> 
      <Route path="/entries/:order" render={ props => <EntryList {...props}/>}/> 
     </Switch> 
    </div> 
</section> 
) 
export default App; 

のようなものを変更してください可能性があります。いくつかのシナリオでは役に立ちます

+0

こんにちは、ありがとうございますが、どちらも問題ありません。 –

+0

@vittoriomaiullariあなたはフィドルやjsbinを作成することができます – MBehtemam

+0

私は明日それを行うことができますが、それはクロムでのみ起こり、アプリケーションはChromeの匿名モードで動作するため、Chromeの動作に応じて動作します。 –

0

私は同様の問題がありました。私の場合、Redirect要素をRoute要素の後ろに置く必要がありました。

これは私のアプリで動作します。

return (<div> 
      <Route exact path="/login" component={LoginContainer}/> 
      {this.props.location.pathname !== '/login'&& 
       <Redirect exact from="/" to={"/login"} /> 
      } 
     </div>); 
0

皆さん、ありがとうございましたが、それはクロムキャッシュの問題です。私はシークレットモードで、新しいChromeのインストールでアプリを試してみましたが、うまくいきました。

関連する問題