React学习计划-React16--React基础(三)收集表单数据、高阶函数柯里化、类的复习

1. 收集表单数据

包含表单的组件分类

  1. 受控组件------页面中所有输入类的DOM,随着输入,把值存维护在状态里,需要用的时候去状态里取值(推荐,避免了过渡使用ref
  2. 非受控组件------页面中所有输入类的DOM,现用现取
    受控组件示例:

    非受控组件示例:

2. 高阶函数

  1. 高阶函数:如果一个函数符合下面2个规范中的任何一个,那该函数就是高阶函数
    1. 若A函数,接收的参数是一个函数,那么A就可以称之为高阶函数
    2. 若A函数,调用的返回值依然是一个函数,那么A就可以称之为高阶函数
  2. 函数的柯里化:通过函数调用继续返回函数的方式,实现多次接收参数最后同意处理的函数编码形式

示例:

分析:我们在这个示例中可以看到onChange绑定事件是一个函数()=>this.handleChange('username', e),标签中呢不仅有事件,事件还绑定函数,函数的返回值也是个函数。

  1. 标签在渲染的时候呢,会执行onChange方法,这时候呢,执行了函数,返回了我们在类中定义的handleChangehandleChange方法还接收了两个参数,一个是我们想要修改的state的属性,另一个是标签的event对象,当我们在input标签里输入内容是,就会触发handleChange方法,
  2. 这种写法呢就属于标签内绑定函数,类中再定义函数。虽然能实现我们的功能,但是我们通常呢,会习惯性的只在标签内绑定一个类中定义的方法就可以了。不会在标签内绑定函数,而在类中呢再次定义函数,所以我们可以使用高阶函数来修改一下上述案例,就如下:

高阶函数------函数柯里化示例:

3. 类的复习

  1. 类中的构造器不是必须写的,要对实例进行一些初始化操作,如添加属性才写
  2. 如果A继承了B类,且A类中写了构造器,那么A类构造器中必须要调用super()
  3. 类中定义的方法,都是放在了类的原型对象上,供实例去使用
相关推荐
摸着石头过河的石头2 分钟前
手把手教你入门 MCP:模型上下文协议与 Trae IDE 中的实践
前端·mcp
德育处主任2 分钟前
p5.js 3D 形状 "预制工厂"——buildGeometry ()
前端·javascript·canvas
Mintopia4 分钟前
React 牵手 Ollama:本地 AI 服务对接实战指南
前端·javascript·aigc
Mintopia22 分钟前
Next.js 全栈开发基础:在 pages/api/*.ts 中创建接口的艺术
前端·javascript·next.js
小妖66626 分钟前
react-router 怎么设置 basepath 设置网站基础路径
前端·react.js·前端框架
xvmingjiang32 分钟前
Element Plus 中 el-input 限制为数值输入的方法
前端·javascript·vue.js
云间月131436 分钟前
飞算JavaAI智慧教育场景实践:从个性化学习到教学管理的全链路技术革新
学习·飞算javaai挑战赛
XboxYan1 小时前
借助CSS实现自适应屏幕边缘的tooltip
前端·css
极客小俊1 小时前
iconfont 阿里巴巴免费矢量图标库超级好用!
前端
小杨 想拼1 小时前
使用js完成抽奖项目 效果和内容自定义,可以模仿游戏抽奖页面
前端·游戏