如何将参数传递给箭头函数javascript

如何将参数传递给箭头函数javascript,javascript,reactjs,Javascript,Reactjs,我有一个react组件,我想用不同的参数调用同一个arrow函数,但我一直在思考如何将参数传递给它,现在我在问自己我能做到吗 功能寄存器(props){ 常量handleChange=(事件)=>{ //这里我想在这里接收多个参数,例如fromText1,fromText2 } 返回( .... ); } 您有两个选项,但React功能组件中的典型解决方案是使用arrow函数包装器: onChange={e => handleChange(e, "fromText1")} 这样,第一个

我有一个react组件,我想用不同的参数调用同一个arrow函数,但我一直在思考如何将参数传递给它,现在我在问自己我能做到吗


功能寄存器(props){
常量handleChange=(事件)=>{
//这里我想在这里接收多个参数,例如fromText1,fromText2
}
返回(
....
);
}

您有两个选项,但React功能组件中的典型解决方案是使用arrow函数包装器:

onChange={e => handleChange(e, "fromText1")}
这样,第一个参数将是事件对象,第二个参数将是字符串
“fromText

或者,您可以使用
bind

onChange={handleChange.bind(null, "fromText1")}
这样,第一个参数将是字符串
“fromText
”,第二个参数将是事件对象


事件对象还具有两个方便的属性,例如
target
(事件的目标DOM元素)和
currentTarget
(事件处理程序所连接的DOM元素-React在内部使用委托时会对此进行一点合成)。

只需执行如下双箭头函数:

const [state, setState] = React.useState({})
const handleChange = name => e => {
    setState({
        ...state,
        [name]: e.target.value
    })
}

// later in your code

<TextField
    ...
    onChange={handleChnage('fromText1')}
/>

// this will cause the change of value of formText1 in your state
const[state,setState]=React.useState({})
const handleChange=name=>e=>{
设定状态({
……国家,
[名称]:e.target.value
})
}
//稍后在代码中
//这将导致您所在州formText1的值发生更改

当然,这一点以前已经讨论过了。我已经傻到写了上面的答案,我会留下它,而不是删除它,但我已经将它标记为CW,这样人们就不会误认为我这样做与rep有关。(CW答案不会创建rep。)谢谢@devserkan,我应该知道有一个很好的DupiTarget。