即使更改了窗口URL,路由也不会呈现

时间:2019-08-21 18:28:37

标签: reactjs redux

即使更改了URL,即使我两次导航到相同的路线,也不会重新呈现组件。

例如:

  1. 导航到/ dashboard /即可
  2. 单击指向/ dashboard / project / 1的链接,此链接有效
  3. 单击一个链接,使您从第2步转到/ dashboard / project / 2。然后更改了url,但未重新呈现组件

如果我刷新页面,那么它可以工作,但是我不想每次导航到/ dashboard / project /:project

时都刷新

class Dashboards extends React.Component {
  constructor(props) {
    super(props)
  }

  render() {
    return (
      <div className="dashboards-root">
        <h1>Dashboards</h1>
        <Route exact path={this.props.match.url} component={ProjectWorkbookSplit} />
        <Route exact path={this.props.match.url + "/projects/:projectId/"} component={ProjectWorkbookSplit}/>

      </div>
    )
  }
}

1 个答案:

答案 0 :(得分:0)

您可以这样做:

<Route exact path="/" render={ props => <ProjectWorkbookSplit propName={this.props.match.url} />} />

<Route exact path="/your_path" render={props => <ProjectWorkbookSplit your_prop_name={this.props.match.url} />} />

仅当组件的状态或道具发生更改时才渲染组件,因此请确保传递给组件的道具发生更改,以强制重新渲染