对相似的路由使用相同的组件 - 刷新问题

时间:2017-06-04 13:15:56

标签: reactjs

我有两条路线(react-router v4):

<Route exact path='/' component={HomePage}/>
<Route exact path='/tag/:tag' component={HomePage}/>

其中顶部路线显示地点列表,第二条路线显示包含特定标记的地点列表。我想这样设置以重用HomePage组件。

但是,如果我正在使用标记查看地点,然后点击链接<Link to="/">Homepage</Link>,那么它不会重新加载所有地点(Axios / Redux),因为(我假设)主页组件已经在使用中。

我是否应该以某种方式强制重新加载,制作与HomePage非常相似的第二个组件并重复代码或是否有更好的方法?

1 个答案:

答案 0 :(得分:0)

您可以使用生命周期方法componentWillReceiveProps(nextProps){}。 在此方法中,您将获得this.props中的路径,在获取路径后,您可以编写逻辑以根据接收的路径修改组件。