【发布时间】:2018-11-16 12:24:02
【问题描述】:
当用户登录或注册时,我想重定向到仪表板页面 在这种情况下,我正在获取用户已登录或注册的控制台,但该页面不会进入仪表板
import { BrowserRouter as Router, Link, Redirect } from "react-router-dom";
//in signin.js
login = e => {
const { email, password } = this.state;
const { router } = this.props;
e.preventDefault();
auth()
.signInWithEmailAndPassword(email, password)
.then(user => {
if (user) {
console.log('user has signed in or up', user);
return <Redirect to='/profile' />;
} else {
console.log('user signed out or still need to sign in', user);
return <Redirect to='/signIn' />;
}
})
.catch(error => {
console.log(e);
});
};
//in App.js
render() {
return (
<Router>
<Route exact path="/" component={SignIn} />
<Route exact path="/signIn" component={SignIn} />
<Route exact path="/signUp" component={SignUp} />
<AuthorizedRoute exact path="/dashboard" component={Profile} />
</Router>
);
}
在注册时我什至没有收到控制台消息我认为如果用户存在则没有必要签入注册所以我该如何在注册中进行操作
//in sign up.js
signUp = e => {
const { email, password } = this.state;
e.preventDefault();
auth()
.createUserWithEmailAndPassword(email, password)
.then(user => {
if (user) {
console.log('user has signed in or up', user);
return <Redirect to='/dashboard' />;
} else {
console.log('user signed out or still need to sign in', user);
return <Redirect to='/signIn' />;
}
})
.catch(error => {
console.log(error);
});
};
【问题讨论】:
标签: javascript reactjs firebase routes firebase-authentication