我想在网址从http://localhost:3000/?foo=bar1
更改为http://localhost:3000/?foo=bar2
我有这段代码:
componentWillReceiveProps(nextProps) {
console.log(this.props.location.query)
console.log(nextProps.location.query)
}
但我总是在this.props
和nextProps
中获得相同的值
我创建了这个issue,但它没有解决方案
答案 0 :(得分:0)
检查此链接 http://fastserve.horizonhobby.com/ProdInfo/SPM/450/SPM1511-450.jpg
使用shouldComponentUpdate(){}
答案 1 :(得分:0)
您的问题中是否使用react-router
(以及哪个版本?)并不清楚(标签中唯一的线索)。如果你把这个信息添加到问题中,我觉得它会帮助别人。无论如何:
定义componentDidUpdate()
生命周期方法:
componentDidUpdate(prevProps) {
if (prevProps.location.query.foo !== this.props.location.query.foo) {
// Do something
}
}
我使用上面的构造与react-router
版本3。