我们有一个点击处理程序,它使用react router 2.0 this.context.router.push()更新url。见下文:
selectRelatedJob(slug) {
JobActionCreators.fetchJobPage(slug);
JobsActionCreators.getRelatedJobs({'sl': slug});
this.context.router.push({pathname: '/job', query: {sl: slug}});
}
我们的目标是基于“sl”查询字符串获取新数据,但我们的componentWillMount()方法没有被调用,因为我们正在将url更新为相同的路径---只是一个不同的查询字符串。而是调用更新生命周期方法。我们当前的方法是调用操作创建器直接在单击处理程序中获取数据。但是,这似乎是多余的和hacky,因为我们已经更新了url。理想情况下,组件将被卸载并重新安装。
以下是嵌套路线:
<Route component={App}>
<Route path="/" component={HomePage}/>
<Route path="job" component={JobPage}/>
<Route path="job/" component={JobPage}/>
</Route>
</Route>
使用不同的查询字符串导航到当前网址的最佳案例做法是什么?
答案 0 :(得分:0)
传入另一个组件。
UITextfield