<2/17 토>
// 어떤 경로로 들어오든지 상관없이 항상 사용자를 로그인 페이지로 리디렉션하기
<Route path="*" element={<Navigate replace to="/login" />} />
<Route>
컴포넌트의 path="*"는 모든 경로를 나타냅니다. 따라서 이 라우트는 어떤 경로로 들어오든지 상관없이 항상 매칭됩니다.
element={<Navigate replace to="/login" />}
<Navigate>
컴포넌트는 라우터에서 페이지를 이동시키는 데 사용됩니다. replace
prop은 현재 위치를 바꿔치기하여 이동한다는 것을 의미하고, to="/login"
은 사용자를 로그인 페이지로 이동시키라는 것을 나타냅니다. // 아이디 onChange
const inputId = (e) => {
setUserId(e.target.value);
};
// 아이디 형식 제한
const idRegex = /^[a-zA-Z0-9]{4,10}$/;
const isValidId = idRegex.test(userId);
// 비밀번호 onChange
const inputPw = (e) => {
setUserPw(e.target.value);
};
// 비밀번호 형식 제한
const passwordRegex = /^.{4,15}$/;
const isValidPw = passwordRegex.test(userPw);
// 로그인버튼 클릭 핸들러
const onIsLoggedInHandler = () => {
isValidId &&
isValidPw &&
setIsLoggedIn((prevIsLoggedIn) => !prevIsLoggedIn);
};