2017-07-17 3 views
1

は、ルータのバージョンに反応レンダリングコンポーネントに歴史を渡さないこと4. はここに私のコード内のBrowserRouterの使い方だですhistoryは、上記のようなrender()の内部にある場合、レンダリングされたコンポーネントに渡されません。 this.props.history.replace('/notfound');は、MyLinkコンポーネント内では機能しません。 MyLinkコンポーネントに渡されたhistoryインスタンスは、BrowserRouterが作成するインスタンスと同じには見えません。 NotFoundのうち1つはthis.props.history.replace('/...');です。BrowserRouterは内部

解決策は何ですか?

答えて

2

私はこれが実際に効果的にこれを行う方法の一例を示し、このトピックに関する唯一の答えであるrender()

<Route path="/mylink" render={({history}) => (!isLoggedIn() 
    ? <Login/> 
    : <MyLink history={history}/>)} 
/> 
+0

によって送られたのparamsソリューションは、関数から履歴オブジェクトを使用することだと思います。 +1、私の問題を解決しました。 –

関連する問題