Rel页面不会在网址查询更改时重新呈现

时间:2016-08-18 20:41:03

标签: javascript reactjs components router rerender

我尝试根据网址中的查询创建具有不同内容的反应页面。例如:事物?类型= 0和事物?类型= 1导致不同的过滤内容。

问题是,当切换到这些页面时,React不会触发我的页面的重新呈现。我需要手动刷新页面以获得所需的结果。

我尝试使用生命周期中的构建功能,但不使用它们会触发要刷新的页面。它试图在componentWillReceiveProps方法中进行我的获取,然后我必须在链接上单击两次以获取我的过滤内容(这比没有页面刷新但不是用户友好的更好) https://facebook.github.io/react/docs/component-specs.html

1 个答案:

答案 0 :(得分:0)

您可能希望将https://github.com/reactjs/react-router或类似的库用于路线。

如果您想独自完成,则必须收听浏览器历史记录更改。你可以这样做,例如:

componentDidMount: function () {
  var component = this;

  window.onpopstate = function() {
    console.log(window.history.state);
    component.setState({
      query: window.location.search
    });
  };
};

我不确定这是否是一个好的方法,但至少应该有用。