Javascript 能否onChange={this.nameHandler}调用nameHandler=(事件)=>;{}
下面是有效的代码片段 声明-Javascript 能否onChange={this.nameHandler}调用nameHandler=(事件)=>;{},javascript,reactjs,ecmascript-6,arrow-functions,eventhandler,Javascript,Reactjs,Ecmascript 6,Arrow Functions,Eventhandler,下面是有效的代码片段 声明- state = { name : '', age : '' } state = { name : '', age : '' } onChangeHandler- nameHandler = (event) =>{ this.setState({name: event.target.value}); } nameHandler = (event) =&g
state = {
name : '',
age : ''
}
state = {
name : '',
age : ''
}
onChangeHandler-
nameHandler = (event) =>{
this.setState({name: event.target.value});
}
nameHandler = (event) =>{
this.setState({name: event.target.value});
}
用户界面-
onChangeHandler-
nameHandler = (event) =>{
this.setState({name: event.target.value});
}
nameHandler = (event) =>{
this.setState({name: event.target.value});
}
用户界面-
用户界面-
this.nameHandler}value={this.state.name}/>
我理解我的问题的原因是缺乏箭头函数理论的知识
请共享详细的原因更改以下内容以在更改时调用函数:
this.nameHandler
-->this.nameHandler()
this.nameHandler(event)}value={this.state.name}/>
考虑第二个例子
<input type = "text" onChange = {(event) =>this.nameHandler} value = {this.state.name}/>
this.nameHandler}value={this.state.name}/>
这里您不是在调用原始函数。这里只是一个返回另一个函数的包装函数。事件处理程序不受返回值的影响
<input type = "text" onChange = {(event) =>this.nameHandler(event)} value = {this.state.name}/>
this.nameHandler(event)}value={this.state.name}/>
您可以将event.target.value存储在如下变量中
nameHandler = (event) =>{
let {value=''} = event.target;
this.setState({name: value});
}
<input type = "text" onChange = {this.nameHandler} value = {this.state.name}/>
nameHandler=(事件)=>{
让{value=''}=event.target;
this.setState({name:value});
}
<input type = "text" onChange = {(event) =>this.nameHandler} value = {this.state.name}/>
<input type = "text" onChange = {(event) =>this.nameHandler(event)} value = {this.state.name}/>
nameHandler = (event) =>{
let {value=''} = event.target;
this.setState({name: value});
}
<input type = "text" onChange = {this.nameHandler} value = {this.state.name}/>