Skip to content

회원가입 피드백 #9

Description

@DevelopSoo
  1. useState input 입력값 하나로 합치기

    const [email, setEmail] = useState<string>('');
    const [password, setPassword] = useState<string>('');
    const [confirmPassword, setConfirmPassword] = useState<string>('');

  2. 에러도 하나로 합치기

    const [emailError, setEmailError] = useState<string>('');
    const [passwordError, setPasswordError] = useState<string>('');
    const [confirmPasswordError, setConfirmPasswordError] = useState<string>('');

  3. input 입력값 합치면 이것도 하나로 합칠 수 있음

    const handleEmailChange = (e: ChangeEvent<HTMLInputElement>) => {
    setEmail(e.target.value);
    };
    const handlePasswordChange = (e: ChangeEvent<HTMLInputElement>) => {
    setPassword(e.target.value);
    };
    const handleConfirmPasswordChange = (e: ChangeEvent<HTMLInputElement>) => {
    setConfirmPassword(e.target.value);
    };

  4. 함수 만들기 굳.

    const emailDuplicateCheck = (email: string): boolean => {
    const users: User[] = JSON.parse(localStorage.getItem('users') || '[]');
    return !users.some((user) => user.email === email);
    };

  5. 이름 헷갈림.
    isEmailValid(이메일이 유효한가?) => 에러

    if (isEmailValid || isPasswordValid || isConfirmPasswordValid) {
    setEmailError(isEmailValid);
    setPasswordError(isPasswordValid);
    setConfirmPasswordError(isConfirmPasswordValid);
    return;
    }

아마 여기서부터 이름이 잘못된 듯

const isEmailValid = validateEmail(email);
const isPasswordValid = validatePassword(password);
const isConfirmPasswordValid = validateConfirmPassword(
password,
confirmPassword,
);

  1. 이것도 이름 헷갈림. Not 이메일 중복체크를 했다??

    if (!emailDuplicateCheck(email)) {
    setEmailError('이미 사용 중인 이메일입니다.');
    return;
    }

  2. 강제 페이지 이동 사용 금지. useNavigate 훅 알아보기

    window.location.href = '/signin';

로그인 페이지도 모두 같은 문제입니다.

  • 입력 도중에 제대로 통과하면 에러메세지 지우면 좋을 듯
    image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions