React Hooks에서 토글 시 비밀번호 표시/숨기기
16069 단어 passwordhooksjavascriptreact
npm i react-hook-form
기본 유효성 검사를 위해 react-hook-form을 설치합니다. 멋진 눈 아이콘에 fontawesome icons을 사용하십시오.
npm i --save @fortawesome/fontawesome-svg-core
npm i --save @fortawesome/free-solid-svg-icons
npm i --save @fortawesome/react-fontawesome
이제 두 개의 입력과 제출 버튼이 있는 기본 양식인 구성 요소를 만들 수 있습니다.
import React from "react";
import { useForm } from "react-hook-form";
import "./styles.css";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faEye } from "@fortawesome/free-solid-svg-icons";
const eye = <FontAwesomeIcon icon={faEye} />;
export default function App() {
const { register, handleSubmit } = useForm();
const onSubmit = data => {
console.log(data);
};
return (
<div className="App">
<input
name="username"
type="text"
placeholder="Username"
ref={register({ required: "This is required." })}
/>
<div className="pass-wrapper">
<input
placeholder="Password"
name="password"
type="password"
ref={register({ required: "This is required." })}
/>
<i>{eye}</i>
</div>
<button type="submit" onClick={handleSubmit(onSubmit)}>
Submit
</button>
</div>
);
}
더 예쁜 모양을 위해 CSS를 추가하십시오.
.App {
display: flex;
flex-direction: column;
text-align: center;
justify-items: center;
font-size: 22px;
max-width: 500px;
min-height: 672px;
margin: 0 auto;
border-radius: 25px;
color: white;
background-color: rgba(0, 0, 0, 0.5);
}
.App > input {
margin-top: 200px;
}
input {
margin: 0 auto;
background-color: black;
opacity: 50%;
color: white;
margin-top: 10px;
width: 300px;
height: 59px;
font-size: 22px;
margin-bottom: 14px;
max-width: 527px;
padding: 0 10%;
}
.pass-wrapper {
position: relative;
display: flex;
margin-bottom: 14px;
}
i {
position: absolute;
top: 38%;
right: 16%;
}
i:hover {
color: #00fcb6;
cursor: pointer;
}
button {
width: 300px;
height: 50px;
margin: 0 auto;
}
구성 요소는 이제 다음과 같습니다
이제 부울 값이 있는 상태를 추가하여 현재 암호 필드 보기를 추적할 수 있습니다.
const [passwordShown, setPasswordShown] = useState(false);
값을 전환하는 기능
const togglePasswordVisiblity = () => {
setPasswordShown(passwordShown ? false : true);
};
다른 아이콘이나 버튼을 사용하여 프로젝트에 구현할 수 있는 방식으로 눈 아이콘에 onClick 핸들러를 추가할 수 있습니다.
<i onClick={togglePasswordVisiblity}>{eye}</i>
마지막으로 앱의 현재 상태에 따라 입력 유형을 변경합니다.
<input
...
type={passwordShown ? "text" : "password"}
...
/>
이제 눈 아이콘을 클릭하기만 하면 현재 암호 자리 표시자 시각적 개체를 변경할 수 있습니다. 모든 코드를 보려면 이 CodeSandbox 링크Show/Hide Password on toggle를 확인하십시오.
이 튜토리얼이 도움이 되었다면 좋아요를 눌러주세요))
Reference
이 문제에 관하여(React Hooks에서 토글 시 비밀번호 표시/숨기기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/detoner777/show-hide-password-on-toggle-in-react-hooks-1lph텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)