【发布时间】:2017-03-16 09:27:12
【问题描述】:
目前,我有一个带有运行此处理程序的组件:
_redirect () {
hashHistory.push(`/somepath?a=1&b=2`)
}
/somepath 的路由组件被配置为抓取查询参数并将它们存储在状态中,如下所示:
class SomeComponent extends React.Component {
constructor (props) {
super(props)
this.state = {
a: this.props.location.query.a || 5,
b: this.props.location.query.b || -2,
}
}
如果我目前走的是不同的道路,那么一切都会完美无缺。我遇到的问题是,如果我已经在 /somepath 中没有参数并且我执行处理程序,则参数将附加到 url(在 url 栏中路径更改为 /somepath?a=1&b=2),但是页面本身不会重新呈现。
我知道构造函数仅在初始页面加载时执行,这解释了为什么它不获取查询参数并将其存储在状态中,除非它是新的重新加载。
有没有办法让页面对hashHistory.push()附加的新参数敏感?
【问题讨论】:
-
请提供一些代码以查看问题所在
-
@RazvanAlex 完成!
标签: reactjs react-router