を表示/非表示のパスワードをトグルでフックフック
15962 ワード
我々がサインアップ/signinフォームを構築するとき、それはユーザーのために機能を実装するためにクールです、彼の入力する現在の値を見ることができます.これは本当に簡単に反応を使用して、あまりにもダイビングをすることができます.
では、現在のパスワードフィールドビューを追跡するブール値でいくつかの状態を追加できます
このチュートリアルが役に立ちましたら、このようにしてください)
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
今すぐコンポーネントを作成するだけで基本的なフォームを2つの入力と送信ボタンを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>
);
}
そして、よりきれいなルックスのために.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
この問題について(を表示/非表示のパスワードをトグルでフックフック), 我々は、より多くの情報をここで見つけました https://dev.to/detoner777/show-hide-password-on-toggle-in-react-hooks-1lphテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol