比如我要监听首页/home/index的变化,我们就在home组件的componentDidUpdate中判断路由跳转前后path是否一样来做对应的操作,因为react的路由组件的路由信息是通过props传递到组件内部的,所以路由变化了props里的路由信息也会变化,组件就会走componentDidUpdate钩子.
// 入参preProps就是跳转前的组件props,将前后进行对比就知道路由有没有变化了
componentDidUpdate(prevProps) {
// 如果路由跳转
if (!Object.is(this.props.location.pathname, prevProps.location.pathname)) {
// dosomething
}
}