我试图实现事件处理函数,以避免每次组件
renders
re-renders
.
场景1:
如果我在构造函数中绑定函数,如下所示,并且在
onChange
它只在bundle文件中创建一个新函数一次
constructor(props){
super(props);
this.handleChange = this.handleChange.bind(this);
this.state = {
value: ""
}
}
handleChange(e){
this.setState({
value: e.target.value
});
}
render(){
const { value } = this.state;
return(
<div>
<input type="text" onChange={this.handleChange} value={value} />
</div>
)
}
场景2:
但当我想通过
some parameters
随着
event
到
handleChange
呈现
和
重新呈现
constructor(props){
super(props);
this.handleChange = this.handleChange.bind(this);
this.state = {
value: ""
}
}
handleChange(e, param1, param2){
this.setState({
value: e.target.value
});
}
render(){
const { value } = this.state;
return(
<div>
<input type="text" onChange={e => this.handleChange(e, param1, param2)} value={value} />
</div>
)
}
所以,
只在bundle文件中一次,而不是每次组件呈现和重新呈现时?有可能吗?
编辑:
param1和param2是我自己的自定义值。