그날의 공부기록
Home
  • FrontEnd Archive (222)
    • ✨ 기억보다 기록을 (51)
      • 트러블슈팅 (9)
      • 프로젝트 (42)
    • 📚 이론정리 (132)
      • React & Next.js (71)
      • JS & TS (16)
      • CSS (28)
      • HTML (6)
      • 알고리즘 (11)
    • 🐶 etc (39)
      • Github (6)
      • 디자인 (1)
      • VSCode (3)
      • 2022기록 (29)
Home
  • FrontEnd Archive (222)
    • ✨ 기억보다 기록을 (51)
      • 트러블슈팅 (9)
      • 프로젝트 (42)
    • 📚 이론정리 (132)
      • React & Next.js (71)
      • JS & TS (16)
      • CSS (28)
      • HTML (6)
      • 알고리즘 (11)
    • 🐶 etc (39)
      • Github (6)
      • 디자인 (1)
      • VSCode (3)
      • 2022기록 (29)
블로그 내 검색

그날의 공부기록

seokachu's Front-End Archive 🙂

  • ✨ 기억보다 기록을/프로젝트

    20241029(화) ▶️ 개인프로젝트 회원가입 페이지 만들기,react-hook-form 유효성 검사

    2024. 10. 29.

    by. 서카츄

     

    로그인에 이어서 오늘은 회원가입 레이아웃을 완성했고,

    회원가입도 로그인과 똑같이 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

    댓글

    관련글

    • 20241106(수) ▶️ 굿즈샵 페이지, 장바구니 페이지 제작 2024.11.07
    • 20241101(금) ▶️ Header pathname 조건부 스타일 변경하기 2024.11.01
    • 20241028(월) ▶️ 개인프로젝트 로그인 모달창 만들기,react-hook-form 유효성 검사하기 2024.10.29
    • 20241025(금) ▶️ 개인프로젝트 메인페이지 만들기 2024.10.22
맨 위로
전체 글 보기
  • Github
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

seokachu's 기록저장소

블로그 이미지
서카츄

티스토리툴바