when i use the link hrf in the button element the onFinish function dosent work if i delete the link, the function well work and i get the userFound details but i needed to use the route and passing the userFound id i think the link work before the onFinish function thanks for help.
import { Form, Input, Button,Avatar, Switch} from 'antd';
import { UserOutlined, LockOutlined } from '@ant-design/icons';
import { BrowserRouter as Router,Link,Route} from 'react-router-dom'
import ConnectToServer from '../../scripts/connectToServer'
import './Login.css';
import SignUp from '../SignUp/SignUp.js';
import Admin from '../Admin/Admin';
import Student from '../Student/Student';
import {useEffect,useState} from "react"
const Login = () => {
const [userFound,setUserFound]=useState([]);
const onFinish = async (values) => {
let connectToServer=new ConnectToServer();
let userFound1=await connectToServer.logIn(values)
console.log(userFound1[0])
setUserFound(userFound1[0])
};
return (
<div className='logIn'>
<Form
name="normal_login"
className="login-form"
initialValues={{
remember: true,
}}
onFinish={onFinish}
>
<Avatar size={200} src="https://scontent.fsdv2-1.fna.fbcdn.net/v/t1.6435-9/109800995_1659772414198655_7015420379436172104_n.png?_nc_cat=100&ccb=1-5&_nc_sid=09cbfe&_nc_ohc=ARorupIF4d0AX9qbKUQ&_nc_ht=scontent.fsdv2-1.fna&oh=00_AT8MUjuhKdsG-wqMp2mEgXF3eypVGKSyd8XNuLRumgog6w&oe=6219247F"/>
<Form.Item
name="emailPhoneNumber"
rules={[
{
required: true,
message: 'Please input your phoneNumber or email!',
},
]}
>
<Input prefix={<UserOutlined className="site-form-item-icon" />} placeholder="phoneNumber/email" />
</Form.Item>
<Form.Item
name="password"
rules={[
{
required: true,
message: 'Please input your Password!',
},
]}
>
<Input
prefix={<LockOutlined className="site-form-item-icon" />}
type="password"
placeholder="Password"
/>
</Form.Item>
<Form.Item>
{console.log(userFound)}
{userFound.isAdmin?
<Button type="link" href={`Admin/${userFound._id}`} htmlType="submit" className="login-form-button" >
Login
</Button>
:
<Button type="link" href={`Student/${userFound._id}`} htmlType="submit" className="login-form-button">
Login
</Button>
}
</Form.Item>
</Form>
</div>
)
};
export default Login;
import './App.css';
import Login from './components/LogIn/Login';
import SignUp from './components/SignUp/SignUp.js';
import Admin from './components/Admin/Admin';
import Student from './components/Student/Student';
import { BrowserRouter as Router,Link,Route} from 'react-router-dom'
import { Tabs } from 'antd';
const { TabPane } = Tabs;
function App() {
return (
<Router>
<div className="App">
<Tabs>
<TabPane tab="Login" key="login">
<Route path="/" exact component={Login}/>
<Route path="/Login/Student/:id" exact render={({match})=><Student match={match}/>}/>
<Route path="/Login/Admin/:id" exact render={({match})=><Admin match={match}/>}/>
</TabPane>
<TabPane tab="Sign up" key="signup">
<SignUp/>
</TabPane>
</Tabs>
</div>
</Router>
);
}
export default App;