Show/hide password toggle component
Have you ever wondered how password reveal buttons work? Perhaps you've tried to build one yourself by storing the password in a state variable and toggling its visibility. Luckily, there's a much simpler way, leveraging HTML's built-in password input field.
All you really need to understand for this trick to work is that changing the type
attribute of the <input>
element from 'password'
to 'text'
will reveal the password. This is a simple and relatively secure way to show the password the user is typing.
In order to leverage this knowledge, you will need to use the useState()
hook to create a state variable that toggles the type
attribute of the <input>
element. When the user clicks the reveal button, you can update the state variable to toggle the password's visibility.
const PasswordRevealer = ({ value }) => { const [shown, setShown] = React.useState(false); return ( <> <input type={shown ? 'text' : 'password'} value={value} /> <button onClick={() => setShown(!shown)}>Show/Hide</button> </> ); }; ReactDOM.createRoot(document.getElementById('root')).render( <PasswordRevealer /> );