是否可以使用React Router访问当前路由组件

Dmi*_*nko 6 reactjs react-router

例如,我有以下路线:

<Route path="about" component={AboutPage} />
<Route path="status" component={StatusPage} />
Run Code Online (Sandbox Code Playgroud)

让我们假设当前的路线是'#/about'.我需要routerInstance.currentComponent返回AboutPage组件实例的东西.

React Router有没有办法做到这一点?

PS.我知道从外部访问组件实例并不是React的做法,但我需要它.

enj*_*ife 2

不确定react-router是否已经公开了它,这里有一个旧的GitHub讨论未记录的api,但你可以根据路由自行设置。

//AboutPage
componentDidMount() {
  global.currentComponent  = this
}

//StatusPage
componentDidMount() {
  global.currentComponent  = this
}
Run Code Online (Sandbox Code Playgroud)