Javascript 在jsx中使用带构造函数的bind this时传递param
JSXJavascript 在jsx中使用带构造函数的bind this时传递param,javascript,reactjs,Javascript,Reactjs,JSX 如何将参数从Jsx传递到我的handleSave函数?我并没有把一切都安排妥当。标记是另一个组件的子组件。根据函数名称,我假定您希望根据事件传递参数,因此如果是这种情况,您可以执行以下操作: handleSave(param){ } this.handleSave(e.target.value)}/> 箭头函数保留此的上下文,因此您不必使用bind。根据函数名,我假定您希望根据事件传递参数,因此如果是这样,您可以执行以下操作: handleSave(param){ } this
如何将参数从Jsx传递到我的handleSave函数?我并没有把一切都安排妥当。标记是另一个组件的子组件。根据函数名称,我假定您希望根据事件传递参数,因此如果是这种情况,您可以执行以下操作:
handleSave(param){
}
this.handleSave(e.target.value)}/>
箭头函数保留此的上下文,因此您不必使用bind。根据函数名,我假定您希望根据事件传递参数,因此如果是这样,您可以执行以下操作:
handleSave(param){
}
this.handleSave(e.target.value)}/>
箭头函数保留了此的上下文,因此您不必使用bind。您可以在调用bind时设置参数
<a onClick={(e) => this.handleSave(e.target.value) }/></a>
类应用程序扩展组件{
handleClick(名称){
警报(this.props.appName+”:“+name);
}
render(){
返回(
点击这里
);
}
}
您可以在调用bind
<a onClick={(e) => this.handleSave(e.target.value) }/></a>
类应用程序扩展组件{
handleClick(名称){
警报(this.props.appName+”:“+name);
}
render(){
返回(
点击这里
);
}
}
在JSX元素上绑定函数不是一个好做法,您应该在构造函数上绑定它们,这样,它不会在每次渲染时生成函数:
class App extends Component {
handleClick(name){
alert(this.props.appName + " : " + name);
}
render() {
return (
<div className="App">
<a onClick={this.handleClick.bind(this, this.props.appName)} >Click Here</a>
</div>
);
}
}
类应用程序扩展组件{
建造师(道具){
超级(道具);
this.handleClick=this.handleClick.bind(this,this.props.appName);
}
handleClick(名称){
警报(this.props.appName+”:“+name);
}
render(){
返回(
点击这里
);
}
}
在JSX元素上绑定函数不是一个好做法,您应该在构造函数上绑定它们,这样,它不会在每次渲染时生成函数:
class App extends Component {
handleClick(name){
alert(this.props.appName + " : " + name);
}
render() {
return (
<div className="App">
<a onClick={this.handleClick.bind(this, this.props.appName)} >Click Here</a>
</div>
);
}
}
类应用程序扩展组件{
建造师(道具){
超级(道具);
this.handleClick=this.handleClick.bind(this,this.props.appName);
}
handleClick(名称){
警报(this.props.appName+”:“+name);
}
render(){
返回(
点击这里
);
}
}
使用this.handleSave.bind(this,param)
或者如果需要,可以使用ES6 arrow函数onClick={()=>handleSave(param)}
请参阅关于如何使用箭头函数的答案。可能重复使用this.handleSave.bind(this,param)
或者如果需要,可以使用ES6箭头函数onClick={()=>handleSave(param)}
请参阅有关如何使用箭头函数的答案。由于您使用了箭头函数,所以可能的重复项不绑定此项。在我的例子中使用bind没有什么错。这就是为什么我说“我想你应该根据事件传递一个参数”。如果你分享了更多关于你想要传递的参数的信息,答案会更切题。你不必绑定它,因为你使用了arrow函数。在我的例子中使用bind没有什么错。这就是为什么我说“我想你应该根据事件传递一个参数”。如果您分享了更多关于您希望传递的参数的信息,那么答案将更加切中要害。