Javascript 仅对单选按钮的更改事件进行一次反应
对于react如何处理无线电输入的onChange事件,我有点困惑:Javascript 仅对单选按钮的更改事件进行一次反应,javascript,reactjs,Javascript,Reactjs,对于react如何处理无线电输入的onChange事件,我有点困惑: var Hello = React.createClass({ onChange: function(e) { console.log(e); }, render: function() { return ( <form onChange={this.onChange}> <input type='radio' name='a' value="1" /> &l
var Hello = React.createClass({
onChange: function(e) {
console.log(e);
},
render: function() {
return (
<form onChange={this.onChange}>
<input type='radio' name='a' value="1" />
<input type='radio' name='a' value="2" />
<input type='checkbox' name='a' />
<input type='checkbox' name='a1' />
</form>
)
}
});
var Hello=React.createClass({
onChange:函数(e){
控制台日志(e);
},
render:function(){
返回(
)
}
});
对于收音机,它似乎只触发一次事件,而对于复选框类型,它会按预期工作?我做错了什么
请考虑
< P>将“<代码> OnChchange < /Cord>回调”添加到输入而不是整个窗体中。你可以在这个问题上读更多它将在15.6.2版本中修复您的小提琴与您试图演示的不匹配。收音机可能会很奇怪。React尝试将所有输入以及它们如何触发onChange正常化,但它并没有像您预期的那样工作。您应该获得一个无线组组件,它为您抽象了这个组件(例如onClick=>onChange),并将
onChange
冒泡以供一般使用。关于如何处理这一问题,一直存在着讨论和分歧。请参阅etc-传统的DOMApi只需单击即可。在react api中添加onChange是为了保持一致性,但这并不意味着它能按预期工作。@user683680这怎么不起作用?检查此更新的fiddle(也修复了与双重命名a的冲突)降级react时,不要忘记降级react dom。就我而言,react dom没有自动降级,这破坏了我的应用程序。
In 15.6.1, the first change fires, but all subsequent changes do not fire. In 15.5.4, all changes fire.