React 处理多个表单收集数据 函数柯里化
1.常规收集表单数据
这是在一般情况下针对登录时收集表单的写法,但是如果是一个注册流程,可能不止用户名,密码两个输入项,显然如果是n个表单用这种方法的话,那么你需要写n监听函数,这根本没法玩。
2.使用函数柯里化
函数柯里化:函数柯里化是指将使用多个参数的函数转化成一系列使用一个参数的函数的技术, 它返回一个新的函数, 这个新函数去处理剩余的参数,通俗点说就是通过调用一个函数,该函数的返回值继续返回函数的形式。
这里我们针对多个表单的处理无非就是想办法把他集成为一个函数,然后不同表单用不同的类型做区分
这里可能会有个误区,直接在函数传递类型,结果发现其实你还没数值值的时候,函数已经调用了,问题出在这种写法其实你是将this.saveFormData的返回值作为onChange时间的回调,导致你即使输入框输入也没有效果
正确演示:首先saveFormData拿到你传递的类型值之后你再return一个函数,那么return的这个函数将作为onChange事件回调,所以我们在这里再接收event事件对象就可以达到我们要的效果