Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.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 - Fatal编程技术网

Javascript 只需一次单击点火即可做出反应

Javascript 只需一次单击点火即可做出反应,javascript,Javascript,显示组件后,在ServiceView中单击React onClick仅触发一次。当我单击添加图标时,添加了新组件。但在第二次点击添加图标时什么也不做,什么也不输出,没有错误,没有警告。我在Chorme控制台中看到了该组件,在控制台中该组件具有绑定函数,但我不明白为什么它的函数不能启动。你能帮我一下吗。 谢谢 var Textarea=React.createClass({ getInitialState:函数(){ 返回{ 值:“”, }; }, getDefaultProps:function

显示组件后,在ServiceView中单击React onClick仅触发一次。当我单击添加图标时,添加了新组件。但在第二次点击添加图标时什么也不做,什么也不输出,没有错误,没有警告。我在Chorme控制台中看到了该组件,在控制台中该组件具有绑定函数,但我不明白为什么它的函数不能启动。你能帮我一下吗。 谢谢

var Textarea=React.createClass({
getInitialState:函数(){
返回{
值:“”,
};
},
getDefaultProps:function(){
返回{
禁用:false
};
},
componentWillMount:function(){
if(此.props.value){
this.setState({value:this.props.value});
}
},
onChange:函数(e){
if(this.props.onChange){
this.props.onChange(即target.value);
}
this.setState({value:e.target.value});
},
render:function(){
var值=this.state.value;
返回(
{this.props.label_name}
);
}
});
var List=React.createClass({
getDefaultProps:function(){
返回{
尺码:“6”,
残疾人士:错,,
groupClass:“”,
labelClass:“”,
inputClass:“”
};
},
onChange:函数(e){
var key=e.target.value;
if(this.props.onChange){
如果(键===未定义){
this.props.onChange(null);
}否则{
此.props.onChange(键);
}
}
},
渲染:功能(键){
返回{this.props.options[key]};
},
render:function(){
回来
{this.props.labelName}
{Object.keys(this.props.options).map(this.renderOption)}
;
},
});
var输入=React.createClass({
getInitialState:函数(){
返回{
值:“”,
有效:对,
groupClass:“”,
labelClass:“”,
inputClass:“”
};
},
getDefaultProps:function(){
返回{
残疾人士:错,,
键入:“文本”
};
},
componentWillMount:function(){
if(此.props.value){
this.setState({value:this.props.value});
}
},
onChange:函数(e){
if(this.props.onChange){
this.props.onChange(即target.value);
}
var dataStr=e.target.value;
var模式=/;
var valueType=this.props.valueType;
开关(valueType){
“整数”情况:
模式=/^[0-9]+$/;
打破
“浮动”案例:
模式=/^[0-9]+\[0-9]+$/;
打破
违约:
模式=/\w/;
}
if(pattern.test(dataStr)==true | | dataStr===''){
this.setState({valid:true});
}否则{
this.setState({valid:false});
}
this.setState({value:e.target.value});
},
render:function(){
var值=this.state.value;
if(this.state.valid){
this.state.formClass='form control valid';
}否则{
this.state.formClass='form control invalid';
}
返回(
{this.props.labelName}
);
}
});
函数零位(num,places){
var zero=places-num.toString().length+1;
返回数组(+(0>0&&0)).join(“0”)+num;
}
函数附加(后缀){
返回函数(前缀){
返回前缀+后缀;
};
}
var PointView=React.createClass({
render:function(){
变量时间=[],
图标=“”,
瓦尔,
后缀=附加(':00');
对于(变量i=0;i<24;++i){
val=后缀(零位(i));
time.push({val:val});
}
如果(此.props.icon){
var className='icon glyphion-'+this.props.icon;
图标=(
)
}
返回(
{this.props.pointName}
{icon}
);
}
});
var ServiceView=React.createClass({
getInitialState:函数(){
返回{
点:[{icon:'},{icon:'plus'}],
最低:2
};
},
findNode:函数(节点){
返回React.findDOMNode(this.refs[node]).value.trim();
},
handleSubmit:函数(e){
var description=this.findNode('description'),
date=此.findNode('date');
e、 预防默认值();
},
handleClick:函数(索引){
var points=this.state.points.slice(),
child=点[索引];
如果(child.icon===‘减’){
拼接点(索引1);
}else if(child.icon==='plus'){
points.splice(points.length-1,0,{icon:'减号'});
}
this.setState({points:points});
},
render:function(){
var self=这个,
categories=['one','two','three'].map(函数(项,索引){
返回{index:item};
}),
points=this.state.points.map(函数(项,索引){
回来
},这个);
返回(
新秩序
{点}
);
}
});

看起来您在onClick中附加了事件处理程序的字符串表示:

onClick={this.handleClick.bind(this, index).toString()}
那个proba
onClick={this.handleClick.bind(this, index).toString()}