Reactjs 登录后将页面从Auth更改为Home
我有一个web应用程序,在成功登录后,页面应该从Auth.js重定向到Home.js,但它所做的是在成功登录后,只需更改URL而不重定向到我想要的页面:Reactjs 登录后将页面从Auth更改为Home,reactjs,web,web-applications,ecmascript-6,jsx,Reactjs,Web,Web Applications,Ecmascript 6,Jsx,我有一个web应用程序,在成功登录后,页面应该从Auth.js重定向到Home.js,但它所做的是在成功登录后,只需更改URL而不重定向到我想要的页面: //app.js 从“React”导入React,{Component}; 导入“/App.css”; 从“/Pages/Authen”导入Authen; 从“./Pages/Home”导入主页; 进口{ BrowserRouter作为路由器, 路线,, 链接 }从“反应路由器dom”; 类应用程序扩展组件{ render(){ 返回( )
//app.js
从“React”导入React,{Component};
导入“/App.css”;
从“/Pages/Authen”导入Authen;
从“./Pages/Home”导入主页;
进口{
BrowserRouter作为路由器,
路线,,
链接
}从“反应路由器dom”;
类应用程序扩展组件{
render(){
返回(
);
}
}
导出默认应用程序;
//Auth.js
从“React”导入React,{Component};
从“react router dom”导入{withRouter}
var firebase=require('firebase');
类Authen扩展了React.Component{
登录=()=>{
//登录方法
const email=this.refs.email.value;
const password=this.refs.password.value;
控制台日志(电子邮件、密码);
const auth=firebase.auth();
const promise=auth.signwithEmailandPassword(电子邮件,密码);
promise.catch(e=>{
var err=e.message;
控制台日志(err);
this.setState({err:err});
});
//获取用户uid
firebase.auth().onAuthStateChanged((用户)=>{
如果(用户){
console.log(user.uid);
this.props.history.push(“/Home”)
}
});
}
建造师(道具){
超级(道具);
此.state={
错误:“”
};
this.Login=this.Login.bind(this);
}
render(){
返回(
纳萨尔
{this.state.err}
this.Login()}>Login
);
}
}
使用路由器导出默认值(Authen);
//Home.js
从“React”导入React,{Component};
类Home扩展组件{
render(){
返回(
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
);
}
}
导出默认主页;
您的身份验证代码正在重定向到/Home
:
firebase.auth().onAuthStateChanged((user) => {
if (user) {
console.log(user.uid);
this.props.history.push('/Home')
}
});
在你的app.js中,修复你的路线
到主页的路径
。发件人:
<Route path="Home" component={Home}/>
致:
您的身份验证代码正在重定向到
/Home
:
firebase.auth().onAuthStateChanged((user) => {
if (user) {
console.log(user.uid);
this.props.history.push('/Home')
}
});
在你的app.js中,修复你的路线
到主页的路径
。发件人:
<Route path="Home" component={Home}/>
致: