Commit 1b9e1b61 authored by Lee SeoYeon's avatar Lee SeoYeon
Browse files

signup 0701

parent e528b930
......@@ -32,6 +32,7 @@
"webpack-dev-server": "^4.9.2"
},
"dependencies": {
"axios": "^0.27.2",
"bcryptjs": "^2.4.3",
"cookie-parser": "^1.4.6",
"react": "^18.2.0",
......
import React, { useEffect, useState } from "react";
import { useNavigate } from "react-router-dom";
// import axios from "axios";
type SignUpProps = {};
......@@ -7,39 +8,45 @@ export const SignUp = ({}: SignUpProps) => {
const USER = {
name: "",
email: "",
password: "2345",
password2: "1234",
password: "",
password2: "",
};
// interface USER {
// name: "";
// email: "";
// password: "";
// password2: "";
// }
const [user, setUser] = useState(USER);
const [error, setError] = useState('')
const [disabled, setDisabled] = useState(false)
const [success, setSuccess] = useState(false)
// const [user, setUser] = useState<USER>();
const [error, setError] = useState("");
const [disabled, setDisabled] = useState(false);
const [success, setSuccess] = useState(false);
const navigate = useNavigate();
useEffect(() => {
setDisabled(!(user.name && user.email && user.password && user.password2))
}, [user])
setDisabled(!(user.name && user.email && user.password && user.password2));
}, [user]);
function handleChange(event: React.ChangeEvent<HTMLInputElement>) {
const { name, value } = event.target
setUser({...user, [name]: value})
const { id, value } = event.target;
setUser({ ...user, [id]: value });
}
async function handleSubmit(event: React.MouseEvent<HTMLButtonElement>) {
event.preventDefault();
try {
// console.log('checkPassword:',checkPassword())
// const passwordMatch = checkPassword()
console.log("checkPassword:", passwordmatch());
if (passwordmatch()) {
// const res = await userApi.signup(user)
// console.log('서버연결됬나요', res)
console.log('회원가입')
setSuccess(true)
setError('')
// const res = await axios.post("/api/signup", user);
// console.log("서버연결됬나요", res);
console.log("회원가입");
setSuccess(true);
setError("");
}
} catch (error) {
console.log('에러발생')
console.log("에러발생");
// catchErrors(error, setError)
} finally {
// setLoading(false);
......@@ -58,10 +65,11 @@ export const SignUp = ({}: SignUpProps) => {
}
if (success) {
alert('회원가입 되었습니다')
navigate(`../`)
alert("회원가입 되었습니다");
navigate(`../`);
}
// const { name, email, password, password2 } = user;
return (
<div className="flex justify-center mt-3">
<div className="flex flex-col space-y-4 mt-5 text-xl font-bold">
......@@ -111,7 +119,9 @@ export const SignUp = ({}: SignUpProps) => {
<div className="text-center mt-3">
<button
className="bg-themeColor text-white border rounded w-100 py-2 px-3 mt-3"
type="submit"
onClick={handleSubmit}
disabled={disabled}
>
회원가입
</button>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment