函数柯里化的含义:将多个参数的函数 转化成 一个一个传入参数的函数。
目的:函数
参数复用或延迟执行它使用闭包记住之前传递的参数。

✅ 使用柯里化(参数复用)
我们将函数改造一下,让它先接收"规则",返回一个专门检查这个规则的函数。
js
// 柯里化:第一层接收规则,第二层接收内容
function curriedCheck(reg) {
// 闭包记住了 reg
return function(txt) {
return reg.test(txt);
}
}
// 1. 参数复用:我们先生成一个"专门检查手机号"的函数// 这里我们将 reg 参数固定(复用)在了 checkPhone 函数内部
const checkPhone = curriedCheck(/^1\d{10}$/);
// 2. 以后使用,只需要传内容,不需要再传正则了
checkPhone('13800000001'); // true
checkPhone('13800000002'); // true
checkPhone('13800000003'); // true// 甚至可以再生成一个"专门检查邮箱"的函数const checkEmail = curriedCheck(/@/);
checkEmail('abc@qq.com');
结论: 在这里,正则表达式这个参数被复用 了。checkPhone 就像是一个被填入了一半参数的模具,你只需要填入剩下的一半即可。
延迟执行
onClick在react渲染的时候就会 直接求值执行
react在渲染时,onclick会执行{}中的函数。 如果 onclick={handlerDelete(id)} 那么在渲染的时候直接就执行了这个函数,还没有点击就删除了。
所以使用匿名函数 or 柯里化
匿名函数 onclick={()=> handlerDelete(id)}
柯里化:

