reactjs - react-router中的BrowserRouter和Router有什么区别?
问题描述
我正在尝试为我的应用程序实现基本路由,但被 BrowserRouter 和 Router 之间的区别所困扰。在我的情况下路由器工作正常,BrowserRouter 没有正确路由。
我正在使用历史对象。当用户点击一个按钮时,它需要被带到登录页面
history.push('/login')
const Routing = () =>
<Router history={history}>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/login" component={Login} />
</Switch>
</Router>
以上一项工作,但如果我使用 BrowserRouter 而不是 Router 则无法正常工作。
解决方案
简而言之,它们彼此相等:
import { BrowserRouter } from 'react-router-dom'
<BrowserRouter>
<App />
</BrowserRouter>
和
import { Router } from 'react-router-dom'
import { createBrowserHistory } from 'history'
const history = createBrowserHistory()
<Router history={history}>
<App />
</Router>
推荐阅读
- php - 无法使用 FPDF 在 PHP 中附加生成的 PDF
- typescript - “错误 FirebaseError:调用者没有权限”
- javascript - AdminBro - 尝试上传并返回“isValid() 不是函数”
- json.net - 更改本地设置文件中的值后 Azure Functions .NET 5 无法启动
- python - 在 aws Elastic Beanstalk 环境上部署烧瓶应用程序时出现配置错误
- java - 内部静态类中的弱引用对外部类为空(已清除)
- android - Android SSL 证书。无法连接到 aws elb。SSLPeerUnverifiedException:主机名
未验证: - spring-boot - 如何使用 Springboot 正确实现微服务?
- python - 在测试我的 python api AdvancedRestClient 在响应中返回错误请求错误
- facebook - 在 facebook devlepors 网站上创建应用程序和 android 应用程序中的 facebook 身份验证时出错