Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅对单选按钮的更改事件进行一次反应_Javascript_Reactjs - Fatal编程技术网

Javascript 仅对单选按钮的更改事件进行一次反应

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

对于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" />
       <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.