Как лучше всего обрабатывать события на радиокнопках в ReactJS? Радиокнопки не работают в сафари. В документации показано использование «onClick» в документации «Обработка событий», а также использование «onChange» в документации «Формы». onChange срабатывает только один раз на радиокнопках, поэтому в настоящее время я использую для них onClick.
onClick и onChange не срабатывают на переключателях для сафари в reactjs
comment
У вас есть код, чтобы показать? Может быть, вырезать и вставить ошибку из консоли?
- person Kyle Richardson   schedule 20.12.2017
Ответы (1)
Пример с флажком. Я предполагаю, что с радиокнопками у вас есть радиогруппа.
конструктор:
constructor() {
super();
this.state = {
agreements: false,
};
this.handleSwitchChange = this.handleSwitchChange.bind(this);
}
В функции handleSwitchChange
handleSwitchChange(event){
const target = event.target;
const value = target.type === 'checkbox' ? target.checked : target.value;
const name = target.name;
this.setState({
[name]: value
});
}
И в функции рендеринга:
<div className="col-xs-12">
<label className="label">
<input type="checkbox" name="agreements" checked={this.state.agreements} value={this.state.agreements} onClick={this.handleSwitchChange}/>
<span></span>
I agree to the term
</label>
</div>
Редактировать: функция handleSwitchChange не находится в функции рендеринга;)
person
Akim Benchiha
schedule
20.12.2017