Я полагаю, это потому, что вы устанавливаете состояние обоих в одно и то же значение (event.target.value) в вашем обработчике событий. Вы также мутируете государством, что не очень хорошо в любой ситуации.
в вашей функции handleChange вы меняете значения имени пользователя и состояния пароля на значение event.target.value
, что произойдет, когда onChange сработает при любом вводе, который вы используете handleChange в качестве прослушивателя.
измените свойФункция handleChange для этого:
handleChange = event => {
let {name, value} = event.target;
this.setState({
[name]: value
});
}
с использованием {[name]: value}
, когда событие запускается на входе с name="password"
значение пароля в состоянии вашего компонента будет обновлено
Ваша функция рендеринга являетсянемного сбивает с толку, но я собираюсь предположить, что вы рендеринг формы с метками для имени пользователя и пароля ...
затем в ваших данных в вашей форме (что я не вижу в вашей уценке выше, но яЯ предполагаю, что находится в компоненте Логин):
<input name="username" value={this.state.username} onChange={this.handleChange} />
<input name="password" value={this.state.password} onChange={this.handleChange} />