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) //组件名称,导出该组件,保证在最外边