我在我的reactJS项目中使用来自react-router-dom的Switch and Route。并自动在路由URL的末尾添加#。
例如,如果我导航到localhost:3000
,它将显示为localhost:3000/#/ .
在开发面向客户的产品时,我想摆脱此#的问题,并且不希望我的URL中包含#。
有什么方法可以删除“ #
”吗?非常感谢帮助。
预先感谢。
编辑:
import { Switch, Route, withRouter} from 'react-router-dom';
@inject('userStore', 'commonStore', 'authStore')
@withRouter
@observer
export default class App extends React.Component {
render(){
return(
<Switch >
<Route path="/signin" component={Login} />
</Switch >
)
}
}
答案 0 :(得分:3)
听起来您正在使用HashRouter
组件。如果将其替换为BrowserRouter
组件,您将获得普通的URL。
将app.js
根文件中的代码添加到您的问题中,将有助于我们进一步调试。
编辑:
由于您未指定路由器组件,因此它react-router
默认为HashRouter
。您需要将整个应用程序组件包装在BrowserRouter
组件中,以获取良好的网址:
import { Switch, Route, BrowserRouter } from 'react-router-dom';
render(){
return (
<BrowserRouter>
<Switch >
<Route path="/signin" component={Login} />
</Switch>
</BrowserRouter>
);
}