如何监听react的路由变化,做出相应操作
现在需要监听路由的变化,根据路由参数 更改state,
当前代码如下
static propTypes = {
match: PropTypes.object.isRequired,
location: PropTypes.object.isRequired,
history: PropTypes.object.isRequired
}
componentDidUpdate () {
let path = this.props.location.pathname
if (/\/tab\/home/i.test(path)) {
this.setState({
tab: 0
})
} else if (/\/tab\/goods/i.test(path)){
this.setState({
tab: 1
})
} else if (/\/tab\/cart/i.test(path)){
this.setState({
tab: 2
})
} else if (/\/tab\/mine/i.test(path)){
this.setState({
tab: 3
})
}
}
在componentDidUpdate 中可以监测到当前url 但是 不能改state啊...
请教各位有啥好方法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
已解决
在setState 之前进行判断,防止死循环即可