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

ash*_*tic 8 reactjs react-router-dom

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

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

有没有更好的方法来实现它而route不是path道具,Route因为path= 'someurl'无论什么时候someurl被访问someComponent应该渲染

但是反过来,只要someComponent 渲染网址应该更改为someurl我在内部条件渲染的上下文中使用此senerio component.

Dra*_*lev 1

使用react-router时最重要的是要知道:

path属性定义路由 URL,而component属性定义该路由的组件。

我建议通读一下这篇文章。最佳实践建议,就像 Matt Derrick 在评论中建议的那样,URL 应该驱动组件的渲染。

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

希望这能回答您的问题。