【问题标题】:React Router - Build State from Query StringReact Router - 从查询字符串构建状态
【发布时间】:2016-08-18 00:31:17
【问题描述】:

React 新手,构建一个搜索应用程序,其中的 URL 是根据输入的搜索词和选择的后续过滤器构建的。我正在根据搜索词和所做的选择更新查询字符串,而不是路径。 (例如 /?term=movies&selections=action,adventure)我通过 Action Creators 中的 browserHistory.push() 手动将这些更改推送到查询字符串。我不确定要遵循正确的模式来响应这些更新来补充应用程序状态。

我可以在第一次渲染时检查 componentWillMount() 中的查询字符串参数以渲染初始状态,并且效果很好,但是当使用浏览器的后退/前进按钮时,我不确定要遵循的最佳模式来重建状态。

我在 React 之上使用以下模块: 反应还原 反应路由器 react-router-redux

建议感谢感谢。

【问题讨论】:

    标签: reactjs react-router browser-history react-redux react-router-redux


    【解决方案1】:

    您需要在componentWillReceiveProps 回调中检查查询。像这样的:

    componentWillReceiveProps(nextProps) {
      if (!_.isEqual(this.props.location.query, nextProps.location.query) {
         this.fetchDataFromServer(nextProps.location.query);
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-20
      • 1970-01-01
      • 1970-01-01
      • 2018-11-25
      • 2012-10-23
      • 2015-12-16
      相关资源
      最近更新 更多