使用react-router-dom进行组件渲染时更改URL?

时间:2017-08-16 07:52:54

标签: reactjs react-router-dom

反应路由器中是否有一种方法可以在某些组件呈现时相应地更改URL。

我知道的一种方法是将window.history.pushState('', '', '/componentUrl');放入组件的render function

是否有更好的方法可以在route path Route以内的path= 'someurl'道具中完成它,因为someurl表示每次访问someComponent {{1}应该渲染

但是反过来,只要someComponent呈现的网址应该更改为someurl,我就会在component内的条件呈现环境中使用此senerio。

1 个答案:

答案 0 :(得分:1)

使用react-router时最重要的事情是:

  

路径属性定义路线网址和组件属性   定义此路线的组件。

我建议您阅读this。最佳实践建议,就像Matt Derrick在评论中建议URL应该驱动组件的渲染一样。

由于您有基于我建议的状态呈现的Acomponent和Bcomponent,因此您可以使用2个不同的URL。因此,当状态更改为==='a'时,您将跳转到/ aURL,当状态更改为==='b'时,您将跳转到/ bURL。

希望这能回答你的问题。