如何在URL中避免哈希符号,使用react-router-dom和react-router-bootstrap?<



我使用react-router-dom<Route />进行路由,Nav+LinkContainerreact-bootstrap+react-router-bootstrap进行导航:

//...
<Route path="/shop/" component={Shop} />
//...
<NavItem caption="Home" path="/" />
<NavItem caption="Shop" path="/shop" />
//...

// with a helper component: 
const NavItem = (props) => {
return (
<LinkContainer to={props.path} > 
<Nav.Link> {props.caption} </Nav.Link> 
</LinkContainer>
)
}

这会创建一个带有散列符号的URL,例如:

http://localhost:3000/#/shop

这是从哪里来的,它有什么好处?一切正常,但我觉得这个哈希符号不太聪明。我能避免吗?

可以使用

BrowserRouter

不是

HashRouter

防止在URL上显示#。

import {
BrowserRouter as Router,
...
}
instead of
import {
HashRouter as Router,
...
}

最新更新