0

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

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

我在 React 之上使用以下模块: react-redux react-router react-router-redux

建议感谢感谢。

4

1 回答 1

1

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

componentWillReceiveProps(nextProps) {
  if (!_.isEqual(this.props.location.query, nextProps.location.query) {
     this.fetchDataFromServer(nextProps.location.query);
  }
}
于 2016-04-24T19:01:48.537 回答