当前位置: 首页 > 知识库问答 >
问题:

有两个'=>',箭头函数中不是只有一个'=>',这是什么意思?[副本]

广楚
2023-03-14
const handleChange = name => event => {
setState({ ...state, [name]: event.target.checked });
};

请参见CodeSandBox中的完整代码

共有1个答案

杨和蔼
2023-03-14

argumentName=>returnvalue(argumentName)=>{return returnvalue;}的缩写

因此,您的代码等效于

const handleChange = (name) => {
  return (event) => {
    setState({...state, [name]: event.target.checked});
  }
}

换句话说,handlechange是一个函数,它本身返回另一个函数,而这个内部函数执行setstate()调用。

const foo = handleChange("Bar");
foo = (event) => {
  setState({...state, "Bar": event.target.checked});
}
const createHandleOnChangeFunction = name => event => {
    setState({ ...state, [name]: event.target.checked });
};

现在这个函数的作用更清楚了...它创建一个处理onChange事件的函数。

 类似资料: