Javascript 响应页面不会在url查询更改时重新提交
我正在尝试创建一个react页面,该页面根据url中的查询具有不同的内容。例如:Javascript 响应页面不会在url查询更改时重新提交,javascript,reactjs,react-router,components,rerender,Javascript,Reactjs,React Router,Components,Rerender,我正在尝试创建一个react页面,该页面根据url中的查询具有不同的内容。例如:things?type=0和things?type=1导致不同的过滤内容 问题是,React在切换到这些页面时不会触发我的页面的重新阅读。我需要手动刷新页面以获得所需的结果 我尝试使用内置的生命周期功能,但没有一个会触发页面刷新。它试图用component willreceiveprops方法获取我的内容,然后我必须点击链接两次以获取我的过滤内容(这比不刷新页面但不方便用户使用要好) 我使用它。您可能希望使用或类似的
things?type=0
和things?type=1
导致不同的过滤内容
问题是,React在切换到这些页面时不会触发我的页面的重新阅读。我需要手动刷新页面以获得所需的结果
我尝试使用内置的生命周期功能,但没有一个会触发页面刷新。它试图用component willreceiveprops
方法获取我的内容,然后我必须点击链接两次以获取我的过滤内容(这比不刷新页面但不方便用户使用要好)
我使用它。您可能希望使用或类似的库来创建路由 如果你想自己去,你必须听浏览器历史的变化。您可以这样做,例如:
componentDidMount: function () {
var component = this;
window.onpopstate = function() {
console.log(window.history.state);
component.setState({
query: window.location.search
});
};
};
我不确定这是否是一个好方法,但至少应该有效。您可能希望使用或类似的库来创建路由 如果你想自己去,你必须听浏览器历史的变化。您可以这样做,例如:
componentDidMount: function () {
var component = this;
window.onpopstate = function() {
console.log(window.history.state);
component.setState({
query: window.location.search
});
};
};
我不确定这是不是一个好办法,但至少应该奏效