Untitled
unknown
plain_text
2 years ago
2.1 kB
14
Indexable
// SignUp.jsx
import React, { useState } from 'react';
import axios from 'axios';
import { useHistory } from 'react-router-dom';
const SignUp = () => {
const history = useHistory();
const [name, setName] = useState('');
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const [error, setError] = useState('');
const handleSignUp = async () => {
try {
const response = await axios.post('/api/signup', { name, email, password });
console.log(response.data); // Handle success message
history.push('/login'); // Redirect to login page upon successful sign-up
} catch (error) {
console.error('Error signing up:', error);
setError(error.response.data.error || 'Error signing up');
}
};
return (
<div className="container">
<h2 className="my-4">Sign Up</h2>
<form>
<div className="mb-3">
<label htmlFor="name" className="form-label">Name</label>
<input type="text" className="form-control" id="name" value={name} onChange={(e) => setName(e.target.value)} />
</div>
<div className="mb-3">
<label htmlFor="email" className="form-label">Email address</label>
<input type="email" className="form-control" id="email" value={email} onChange={(e) => setEmail(e.target.value)} />
</div>
<div className="mb-3">
<label htmlFor="password" className="form-label">Password</label>
<input type="password" className="form-control" id="password" value={password} onChange={(e) => setPassword(e.target.value)} />
</div>
{error && <div className="alert alert-danger">{error}</div>}
<button type="button" className="btn btn-primary" onClick={handleSignUp}>Sign Up</button>
</form>
</div>
);
};
export default SignUp;
Editor is loading...
Leave a Comment