gpt4 book ai didi

javascript - 我正在为我的 react.js 项目使用 react-router-dom,它在路由 URL 中添加了/#/。我可以摆脱它吗?如果是,如何?

转载 作者:行者123 更新时间:2023-11-30 11:03:19 25 4
gpt4 key购买 nike

我在我的 reactJS 项目中使用来自 react-router-dom 的 Switch 和 Route。并且它会自动在路由 URL 的末尾添加 #。例如,如果我导航到 localhost:3000,它会将 URL 显示为 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 >
)


}
}

最佳答案

听起来您正在使用 HashRouter 组件。如果将其替换为 BrowserRouter 组件,您将获得正常的 URL。

将根 app.js 文件中的代码添加到您的问题中将有助于我们进一步调试。

编辑:

由于您没有指定路由器组件,因此 react-router 默认为 HashRouter。您需要将整个应用程序组件包装在 BrowserRouter 组件中以获得良好的 url:

import { Switch, Route, BrowserRouter } from 'react-router-dom';

render(){
return (
<BrowserRouter>
<Switch >
<Route path="/signin" component={Login} />
</Switch>
</BrowserRouter>
);
}

关于javascript - 我正在为我的 react.js 项目使用 react-router-dom,它在路由 URL 中添加了/#/。我可以摆脱它吗?如果是,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56697815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com