我怎样才能抓住GET params的变化?

时间:2017-03-24 13:09:52

标签: reactjs react-router

我想在网址从http://localhost:3000/?foo=bar1更改为http://localhost:3000/?foo=bar2

时触发事件

我有这段代码:

  componentWillReceiveProps(nextProps) {
    console.log(this.props.location.query)
    console.log(nextProps.location.query)
  }

但我总是在this.propsnextProps中获得相同的值 我创建了这个issue,但它没有解决方案

2 个答案:

答案 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。