-
로그인에 이어서 오늘은 회원가입 레이아웃을 완성했고,
회원가입도 로그인과 똑같이 react-hook-form 라이브러리를 이용해서 구현하였다😊
//SignupForm.tsx const SignupForm = () => { const form = useForm<SignUpType>({ mode: "onChange", resolver: zodResolver(userSchemas.signUpSchema), defaultValues: userDefaultValues.signUpDefaultValues, }); const { isValid, isDirty, isSubmitting } = form.formState; const handleSubmit = async (data: SignUpType) => { console.log(data); }; return ( <> <Form {...form}> <form onSubmit={form.handleSubmit(handleSubmit)} className="flex flex-col gap-3 sm:w-full md:w-[400px]" > <div className="relative"> <FaUser className="absolute top-[17px] left-5" /> <RHFInput type="email" name="email" placeholder="example@example.com" autoComplete="email" autoFocus className="pl-11" /> </div> {/* 중략 */} <Button type="submit" disabled={!isValid || !isDirty || isSubmitting} className="w-full rounded-full mt-6 p-6 transition ease-in delay-300" > {isSubmitting ? "처리 중..." : "가입하기"} </Button> </form> </Form> </> ); }; export default SignupForm;
이전포스팅에 로그인 부분을 정리해놔서 오늘은 간단하게 작성해본다😊
회원가입 페이지도 같이 react-hook-form의 useForm을 가져와서 사용했고,
resolver과 defaultValue부분을 회원가입에 맞게 변경해 주었다.
const form = useForm<SignUpType>({ mode: "onChange", resolver: zodResolver(userSchemas.signUpSchema), defaultValues: userDefaultValues.signUpDefaultValues, });
결과
가입하기 버튼을 누르면 폭죽이 터지는 라이브러리는 이전 포스팅에 정리해놔서 생략했다.👍
✏️ 폭죽효과 넣기, js-confetti 라이브러리
프로젝트에서 게임을 만들던 중, 마지막에 승리 모달창에서 게임이 종료될 때승리 결과창과 함께 폭죽효과를 넣고 싶어서 찾아보게 되었다.그 중에 초보자도 쉽게 적용할 수 있는 js-confetti 라이
seokachu.tistory.com
'✨ 기억보다 기록을 > 프로젝트' 카테고리의 다른 글
20241106(수) ▶️ 굿즈샵 페이지, 장바구니 페이지 제작 (0) 2024.11.07 20241101(금) ▶️ Header pathname 조건부 스타일 변경하기 (0) 2024.11.01 20241028(월) ▶️ 개인프로젝트 로그인 모달창 만들기,react-hook-form 유효성 검사하기 (0) 2024.10.29 20241025(금) ▶️ 개인프로젝트 메인페이지 만들기 (0) 2024.10.22 20241018(금) ▶️ 개인프로젝트 테일윈드 러닝커브, shadcnUI (0) 2024.10.19 댓글