const handleChange = name => event => {
setState({ ...state, [name]: event.target.checked });
};
请参见CodeSandBox中的完整代码。
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事件的函数。
我正在阅读ScrollListView的源代码,在一些地方我看到了的用法。 88号线。 这是的缩写吗?如果有什么不同,又是怎么回事?
问题内容: 我之前阅读过一些Java 8教程。 现在,我遇到以下主题: Java是否支持Currying? 在这里,我看到以下代码: 我了解此示例包含2个元素,但无法理解其构造: 根据表达式的左侧,该行应实现以下功能: 在此之前,我只遇到一个箭头就遇到了lambda。 问题答案: 如果将其表示为非速记lambda语法或pre-lambda Java匿名类语法,则更清楚发生了什么… 原来的问题。为什
我以前读过几本Java8教程。 现在我遇到了以下主题:java支持咖喱吗? 在这里,我看到以下代码: 我知道这个例子总结了两个元素,但我无法理解其结构: 根据表达式的左边部分,此行应实现以下功能: 在此之前,我只遇到过只有一支箭的Lambdas。
你可以看到(...)=
我不理解如何使这段代码在Java7中工作 这个符号在Java中到底是什么意思? 如果Java7不支持它,如何改变它,使它能够正常工作。
在这里做什么,它是否将这个函数附加到其他函数?