如下,4个路由,我想监听当路由切换到某个路由的时候能获取到这个path,如何监听呢?
<Route exact path="/" component={Index}/>
<Route exact path="/explore" component={Explore}/>
<Route exact path="/user" component={User}/>
<Route exact path="/mysites" component={MySites}/>
如下,4个路由,我想监听当路由切换到某个路由的时候能获取到这个path,如何监听呢?
<Route exact path="/" component={Index}/>
<Route exact path="/explore" component={Explore}/>
<Route exact path="/user" component={User}/>
<Route exact path="/mysites" component={MySites}/>
两种方案:
class BaseRoute extends React.Component {
componentDidMount() {
this.props.onRouteEnter(this.props.match); // 这里你可以根据需要传更多信息
}
}
然后你上面的代码中的 Index, Export, User, MySites 都继承自上面这个类。如:
class Index extends BaseRoute {}
然后就可以这样了:
<Route exact path="/" render={props => <Index {...props} onRouterEnter={match => this.handleRouterEnter(match)} />} />
实际上 ReactRouter v4 完全没必要这么做,不知道你的具体场景是啥,可以贴出来讨论下,说不定有更好的方案。
3 回答1.9k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
2 回答1.6k 阅读✓ 已解决
在切换路由后通过
this.props.location.pathname
可以获取当前路由的path