Я работаю с реагировать на js и обнаружил странную проблему с переключателем событий onChange
.
Моя страница открывает всплывающее окно при нажатии кнопки, где новый компонент связывается внутри этого всплывающего окна. В этом новом компоненте я создал 2 radio buttons
, и при смене переключателей я скрываю / показываю div. ниже мой код.
class component1 extends React.Component {
constructor(props) {
super(props);
this.state = {
showComponent: true
};
}
handleChange = () => {
this.setState({
showComponent: !this.state.showComponent,
});
}
render() {
return(
<div>
<input type='radio' name='a' onChange={self.handleChange} defaultChecked/>
<input type='radio' name='a' onChange={self.handleChange}/>
{this.state.showComponent && (<div>Hide or show based on state change</div>)}
</div>
);
}
}
Когда я открываю всплывающее окно в первый раз, оно работает нормально. Возможно, его поведение изменится после отправки формы и закрытия всплывающего окна. Когда я в следующий раз открываю всплывающее окно без обновления родительской страницы, при первой смене переключателя она не вызывает функцию handleChange
. И со второго нажатия он просто отлично работает.
Я думаю, onSubmit
Я вызвал form.reset()
функцию при успешной отправке формы, которая создает проблему. Но я не понимаю, как решить эту проблему.