我想在单击登录页中的按钮后重定向到主页。但是,当我单击地址栏中的按钮时,主页的路径会显示出来(它重定向到主页)…但它不会呈现与该路径相关的组件。它仍然显示带有主页地址的登录页。因此,我必须刷新页面才能呈现主页。这里有什么问题???
在我的登录页面中…这是我用于单击按钮的功能。。
gotopage()
{
this.props.history.push('/home')
}
在我的索引,js页面...
import React from "react";
import { render } from "react-dom";
import {BrowserRouter as Router,Route,Redirect ,browserHistory} from "react-router-dom";
import { Firstpage } from "./Firstpage";
import { Login } from "./Login";
import { Home } from "./Home";
import createBrowserHistory from 'history/createBrowserHistory'
const history=createBrowserHistory();
class App extends React.Component {
render(){
return(
<Router history={browserHistory}>
<div>
<switch>
<Route path="/" component={Firstpage} exact> </Route>
<Route path="/home" component={Home}> </Route>
<Route path="/login" render={(props) => <Login {...props} history=
{history} } />}> </Route>
</switch>
</div>
</Router>
);
}
}
我有几点建议。由于您使用的是React router 4.x BrowserRouter,所以根据文档,它没有历史道具,请删除该道具。将您的html" target="_blank">代码更新为以下内容,并查看其是否有效。
将交换机更改为交换机,我看不到它从反应路由器导入。在登录组件中使用路由器从反应路由器。
export default withRouter(Login)
更新主路由配置如下。
<Router history={browserHistory}>
<Switch>
<Route path="/" component={Firstpage} exact> </Route>
<Route path="/home" component={Home}> </Route>
<Route path="/login" render={(props) => <Login {...props}/>}> </Route>
</Switch>
</Router>
阅读更多关于与路由器,浏览器路由器在这里https://reacttraining.com/react-router/web/api/BrowserRouter.
关于更多细节,请看下面的帖子https://medium.com/@AkyunaAkish/understanding-react-router-4-df73a66d96c4
我正在尝试使用react router(版本^1.0.3)做一个简单的重定向到另一个视图的操作,我只是觉得有些累。 我只需要将用法发送到“/login”,就这样。 我能做什么? 控制台中的错误: 未捕获的引用错误:未定义PropType 用我的路线归档
我一直试图做一个简单的重定向到按钮点击的另一个组件,但由于某种原因,它不起作用。我想重定向到/dashboard并从登录显示AdminServices,如下所示: //索引。js //应用程序。js //登录。js //管理服务。js
我正在学习如何通过在线教程做出反应。 这是一个关于使用React路由器的基本示例: 与我的应用程序组件: 但是,我在使用IndexRoute时遇到问题,因为它没有显示任何内容,所以我在npm上搜索react router dom v4模块,但里面没有IndexRoute。相反,它使用的是: 那么,我如何渲染2组件为1路径?
在开发模式下运行时,Spring Security重新定向到React前端(使用React路由器运行)的登录页面时,我遇到了一个配置问题。我相信我的前端没有接收到重定向,这是因为我对服务器端路由如何与SPA路由交互的noob理解。 我的开发前端web服务器(使用Facebook Create React App)在localhost:3000上运行,我的后端Spring Boot Tomcat在l
我想从API中读取要显示的产品。然后,当我按下其中一个显示的产品时,它应该使用url中的产品ID和要在页面上查看的产品详细信息将我路由到一个组件,以获取有关该产品的详细信息。我在这里读取了API中的数据,并详细显示了产品。 我想通过产品ID添加一个路由链接。如何将详细信息作为其他组件的道具发送?
令人惊讶的是,在Google和StackOverflow中很难找到它,我在这里问,在React路由器中使用