欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

react如何监听路由url变化

程序员文章站 2022-04-12 13:00:04
使用这些生命周期钩子可以监听到路由相同,参数不同的变化,但是监听不到完全不相同的url的变化。即使路由不同,componentDidMount组件内容所更新的东西变了,但是代码变了,页面没有变,找到了一种方法。withRouter 参考:https://reacttraining.com/react ......
"componentwillreceiveprops"
"shouldcomponentupdate"
"componentwillupdate"
"render"
"componentdidupdate"

使用这些生命周期钩子可以监听到路由相同,参数不同的变化,但是监听不到完全不相同的url的变化。即使路由不同,componentdidmount组件内容所更新的东西变了,但是代码变了,页面没有变,找到了一种方法。withrouter

参考:https://reacttraining.com/react-router/web/api/withrouter

import react from 'react'
import proptypes from 'prop-types'
import { withrouter } from 'react-router'

// a simple component that shows the pathname of the current location
class showthelocation extends react.component {
  static proptypes = {
    match: proptypes.object.isrequired,
    location: proptypes.object.isrequired,
    history: proptypes.object.isrequired
  }

  render() {
    const { match, location, history } = this.props

    return (
      <div>you are now at {location.pathname}</div>
    )
  }
}


export default withrouter(showthelocation) //组件名称,导出该组件,保证在最外边