this.props.router.push不会重新加载组件

时间:2016-09-20 23:13:46

标签: javascript reactjs react-router

所以,我在react-route配置文件中有这两个组件:

<Route path="/questions/:test_id" component={QuestionsComponent}>
   <Route path="/questionnew/:test_id" component={QuestionModalNewComponent} />       
</Route> 

它们是独立的组件,而不是父子类型。 QuestionModalNewComponent (顾名思义)显示了一个模态&#34;窗口&#34;在用户点击&#34; Save&#34;之后添加问题新问题已保存,然后我致电:

this.props.router.push('/questions/'+this.props.routeParams.test_id);

因为现在我需要在屏幕上显示所有问题(包括我刚创建的那些问题)。然而,反应路由器没有重新加载&#34; QuestionsComponent

我猜测,因为 QuestionModalNewComponent 嵌套在 QuestionsComponent &lt; Route&gt; 元素中,这就是阻止它的原因 QuestionsComponent 是&#34;已执行&#34;试。

有没有办法重新加载React组件?

更新

根据这个帖子:

https://github.com/ReactTraining/react-router/issues/1982

React-router不是以这种方式工作的,重新加载数据应该由react组件生命周期方法处理:componentWillMount,componentDidMount等。所以我将Modal屏幕移动到父组件。大家好!

0 个答案:

没有答案