2017-10-06 9 views
0

私はreact-router-dom v4を使用しています。 ここに私のルータのコードスニペットがあります。唯一の新しいを持っている別のリンクにリダイレクトするとき、言い換えれば、/ユーザー/ 123に行くときリアクションルータドームV4でページが再度レンダリングされませんか?

import {BrowserRouter as Router, Route, BroswserHistory} from 'react-router-dom'; 
<Router> 
<Main> 
<route exact path="/" component={All}/> 
... 
<route path="/user/:id" component={User}/> 
</Main> 
</Router> 

だから私は、ユーザーのページを取得することができますが、同じページに/ユーザー/ 345に行けばユーザーID、私は新しいユーザーのページを取得することはできませんそれは前のページを維持しています。

私に間違いがありますか?

+0

はの「withRouter」でコンポーネントをラップ-ルータ-DOMを反応してみてください。 'export default withRouter(YourComponent)'のように –

答えて

0

あなたが同じルートのパスに移動した場合、再び
Uは私の提案の下に行うことができます表示されません反応:

componentWillReceiveProps(nextProps, nextState) { 
    if (this.state.path != nextProps.location.pathname) { 
     this.setState({ 
      path: nextProps.location.pathname 
     },() => { 
      //process with your parameter here 
     }) 
    } 
} 
関連する問題