【发布时间】:2020-01-06 20:26:45
【问题描述】:
我正在使用 Redux 学习 NextJS,并且我创建了一个商店并设法让用户在通过身份验证后进入 Eedux 状态,但现在我不希望该用户在通过身份验证后访问登录页面。
这是我目前写的代码:
const SignInSignUp = ({ currentUser }) => {
const StyledSignInSignUp = styled.div`
display: flex;
align-items: center;
justify-content: space-between;
`;
const renderSignIn = () => {
if (currentUser) {
Router.push('/');
} else {
return (
<StyledSignInSignUp>
<SignIn />
<SignUp />
</StyledSignInSignUp>
);
}
};
return (
<motion.div
initial={{ y: 50 }}
animate={{ y: 0 }}
exit={{ y: 50 }}
className="container"
>
{renderSignIn()}
</motion.div>
);
};
const mapStateToProps = ({ user }) => ({ currentUser: user.currentUser });
export default connect(mapStateToProps)(SignInSignUp);
它可以工作并重定向用户,但在重定向之前需要大约 3 秒的时间才能到达状态。
有没有办法在我已经拥有状态之前不呈现页面或防止这种情况发生?
【问题讨论】:
-
你看到我的回答了吗?