2017-10-06 90 views
0

我正在使用react-router-dom v4。 這是我的路由器代碼片段。頁面在react-router-dom 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> 

因此,當去到/用戶/ 123我能得到用戶的頁面,但如果去/用戶/ 345在同一頁上,換句話說,當重定向到具有唯一的又一個新的鏈接用戶名,我不能得到新的用戶頁面只有它保持前一頁。

我怎麼了?

+0

與「withRouter」包裝你組分反應的路由器-DOM和嘗試。像'export 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 
     }) 
    } 
}