Реактстреп и Chrome автоматически заполняют пароль при вводе электронной почты. - PullRequest
0 голосов
/ 07 мая 2019

В моем приложении React (с использованием responsestrap и начальной загрузки) у меня есть форма входа в систему, которая содержит два поля: адрес электронной почты и пароль.

<Input
   type="email"
   name="email"
   id="emailInput"
   onChange={this.handleInputChange}
   value={this.state.email}
   placeholder="email"/>

когда компонент выполняет рендеринг Chrome, автоматически заполняет поля, состояние электронной почты изменяется на то, что положил Chrome, и компонент перерисовывает.

Здесь, согласно некоторой логике в компоненте входа, состояние электронной почты может снова измениться на пустую строку this.setState({email:''}).

Теперь пароль все еще там, но при нажатии на поле электронной почты (которое теперь пусто) всплывающее окно автозаполнения Chrome и показывает сохраненный электронный адрес / пароль и при нажатии, пароль заполняется в поле электронной почты вместо электронной почты .

при использовании стандартного тега HTML input такой проблемы нет. Я не пробовал с другими библиотеками пользовательского интерфейса, но для responsestrap Input.

У кого-нибудь был такой опыт?

Тип реактивной ленты

P.S.

  handleInputChange = ({ target: { name, value } }: React.ChangeEvent<HTMLInputElement>) => {
    this.setState((prevState) => ({ ...prevState, [name]: value }));
  };
...