登录成功后重定向页面
登录成功后重定向页面
这个问题已经有了答案:
下面是App.js和Login.js的代码
登录页面在http://localhost:3000/login
如果用户成功登录,如何将用户重定向到
http://localhost:3000/home页面,该页面加载\"HomeComponent.jsx\"。我已经省略了代码
“HomeComponent.jsx”为简洁起见
const App = () => { return ( <>
</> ); }; import React, { useState, props } from 'react'; import LoginStatus from './LoginStatus'; const Login = () => { const [username, setUsername] = useState('my user name'); const [password, setPassword] = useState('pass'); const [loginStatus, setloginStatus] = useState(true); const loginClicked = () => { if (username === 'xyz' && password === 'pass') { console.log("Login Success"); console.log("login loginStatus " + loginStatus); setloginStatus(true); } else { console.log("Login Failed"); setloginStatus(false); console.log("login loginStatus " + loginStatus); } } return (
Login
User Name: { setUsername(event.target.value) }} /> Password: { setPassword(event.target.value) }} /> ) } export default Login;
使用props.history.push('/dashboard')
-> 这不会重新加载页面,而是更改组件。 window.location.href='/dashboard'
也可以工作,但会重新加载页面。
在您的登录函数内:
const Login = () => { const [username, setUsername] = useState('my user name'); const [password, setPassword] = useState('pass'); const [loginStatus, setloginStatus] = useState(true); const loginClicked = () => { if (username === 'xyz' && password === 'pass') { console.log("Login Success"); console.log("login loginStatus " + loginStatus); setloginStatus(true); // If login succeeds then redirect props.history.push('/dashboard') // } else { console.log("Login Failed"); setloginStatus(false); console.log("login loginStatus " + loginStatus); } } }