Merge pull request #45 from phaniteja1/password-revealer

Password revealer
This commit is contained in:
Angelos Chalaris
2019-02-12 20:19:52 +02:00
committed by GitHub

View File

@ -2,37 +2,24 @@
Renders a password input field with a reveal button. Renders a password input field with a reveal button.
Initially set `state.shown` to `false` to ensure that the password is not shown by default. Use the `React.useState()` hook to create the `shown` state vairable and set its value to `false`.
Create a method, `toggleShown`, which uses `Component.prototype.setState` to change the input's state from shown to hidden and vice versa, bind it to the component's context. Use a`<div>` to wrap both the`<input>` and the `<button>` element that toggles the type of the input field between `"text"` and `"password"`.
In the`render()` method, use a`<div>` to wrap both the`<input>` and the `<button>` element that toggles the type of the input field.
Finally, bind the `<button>`'s `onClick` event to the `toggleShown` method.
```jsx ```jsx
class PasswordRevealer extends React.Component { function PasswordRevealer({ value }) {
constructor(props) { const [shown, setShown] = React.useState(false);
super(props);
this.state = {
shown: false
};
this.toggleShown = this.toggleShown.bind(this);
}
toggleShown() {
this.setState(state => ({ shown: !state.shown }));
}
render() {
return ( return (
<div> <div>
<input <input
type={this.state.shown ? 'text' : 'password'} type={shown ? "text" : "password"}
value={this.props.value} value={value}
onChange={() => {}}
/> />
<button onClick={this.toggleShown}>Show/Hide</button> <button onClick={() => setShown(!shown)}>Show/Hide</button>
</div> </div>
); );
} }
}
``` ```
```jsx ```jsx