受控组件

组件的state是“唯一数据源”,使用受控组件时必须要绑定onchange()函数,否则会警告。
通俗来讲:就是input的vlaue值是来源于组件的state,相当于是映射,并且用户输入或改变值会触发this.setState来改变state值。

  • input
  • textarea
  • select

用途

  1. 输入框默认值
//一个简单的例子
handleChange(event){this.setState({value: event.target.value});
}
<input type="text"  value = {this.state.value} onchange = {this.handleChange}/>

非受控组件

非受控组件即不受状态的控制,获取数据就是相当于操作DOM。

  • 文件 input 标签

高阶组件

React 中用于复用组件逻辑的一种高级技巧

高阶组件参数是组件,返回值是新组件的函数。
组件是将props转换为UI
高阶组件是将组件转换为另一个组件
注意:不会修改传入的组件,返回值是一个新的组件
实现高阶组件

  1. 属性代理
//一个简单的高阶组件
function myHOC() {return function(WrappedComponent) {class TheHOC extends React.Component {render() {return <WrappedComponent {...this.props} />;}}return TheHOC;}
}

功能:

  • 可以操作props,实现增删改查
  • 抽取状态
  • 包装组件
  1. 反向继承
export default WrappedComponent => class extends WrappedComponent {render() {console.log(this.state, 'state');return super.render();}
}

功能:

  • 渲染劫持

react受控组件、非受控组件以及高阶组件相关推荐

  1. React(精读官方文档) - 高级指引 -高阶组件

    高阶组件(HOC) 概述 是React复用组件逻辑的一种高级技巧,是一种基于React组合特性而形成的设计模式 高阶组件是参数为组件,返回值为新组件的函数 简单理解: 高阶组件本身是 函数,传参数是组 ...

  2. [react] 写一个react的高阶组件并说明你对高阶组件的理解

    [react] 写一个react的高阶组件并说明你对高阶组件的理解 定义高阶组件 import React, { Component } from 'react';const simpleHoc = ...

  3. react 给一个引用的组件添加新属性_高阶组件在React中的应用

    高阶组件的定义 接受React组件作为输入,输出一个新的React组件. 概念源自于高阶函数,将函数作为参数,或者输出一个函数,如map,reduce,sort. 用haskell的函数签名来表示: ...

  4. react进阶系列 - 高阶组件详解四:高阶组件的嵌套使用

    前面有讲到过很多页面会在初始时验证登录状态与用户角色.我们可以使用高阶组件来封装这部分验证逻辑.封装好之后我们在使用的时候就可以如下: export default withRule(Home); 但 ...

  5. React中的高阶组件

    React中的高阶组件 高阶组件HOC即Higher Order Component是React中用于复用组件逻辑的一种高级技巧,HOC自身不是React API的一部分,它是一种基于React的组合 ...

  6. React 高阶组件HOC详解

    参考链接: https://juejin.cn/post/6844903815762673671 https://juejin.cn/post/6844904050236850184 前言 高阶组件与 ...

  7. web前端高级React - React从入门到进阶之高阶组件

    第二部分:React进阶 系列文章目录 第一章:React从入门到进阶之初识React 第一章:React从入门到进阶之JSX简介 第三章:React从入门到进阶之元素渲染 第四章:React从入门到 ...

  8. React 中的高阶组件及其应用场景

    本文目录 什么是高阶组件 React 中的高阶组件 属性代理(Props Proxy) 反向继承(Inheritance Inversion) 高阶组件存在的问题 高阶组件的约定 高阶组件的应用场景 ...

  9. React高阶组件以及应用场景

    什么是高阶组件 在解释什么是高阶组件之前,可以先了解一下什么是 高阶函数,因为它们的概念非常相似,下面是 高阶函数 的定义: 如果一个函数 接受一个或多个函数作为参数或者返回一个函数 就可称之为 高阶 ...

  10. React解密:React高阶组件是什么?

    React中比较高大上的东西,高阶组件应该算是一个点,开发中也许写的不多,但是我们必须要直到高阶组件是什么,高阶组件能干什么? A higher-order component is a functi ...

最新文章

  1. 让 QtWebkit 支持跨域CROS - nowboy的CSDN博客 - 博客频道 - CSDN.NET
  2. 高通5G开始挤牙膏?骁龙865+发布,性能小幅提升,一加听了要笑,魅族看了会流泪...
  3. hbase delete.deleteColumns问题
  4. Excel 设定密码保护特定的内容
  5. WEB前端学习一 JS预解释
  6. ASP.NET Core 2.0 Web API项目升级到ASP.NET Core 3.0概要笔记
  7. ROS配置分布式通信
  8. 如何制作出色的R可重现示例
  9. 新型超级生物计算机简介,自然形成的超级生物计算机
  10. ROS安装USB摄像头
  11. 军工产品检验标准有哪些?军工产品检测机构报告
  12. 60、在Visual Studio 2019 环境下,使用C#调用C++生成的dll实现yolov5的图片检测
  13. 计算机网络(二)—— 物理层(1、2、3):物理层的基本概念、物理层的下面的传输媒体、传输方式
  14. 积分上限函数的导数例题 笔记
  15. 2019杭电多校Problem 5 Snowy Smile题解
  16. 在android view中写坦克大战
  17. 如何触发‘isTrusted = true‘点击事件
  18. Git 常用命令及解释
  19. flashback使用
  20. MYSQL服务器登录和权限设置

热门文章

  1. Excel一键生成工资条的另类操作
  2. 什么是渐进增强_什么是渐进增强,为何如此重要
  3. C语言 —— 嵌套循环语句的用法
  4. 如何更改iTunes备份地址(修改iphone ipad 备份地址) itunes文件目录修改方法 【亲测有效,附带原理说明】...
  5. riscv-sodor 学习笔记
  6. riscv的c语言编译,RiscV汇编介绍(1)-编译过程
  7. Echarts-wordcloud词云图使用及自定义图片
  8. LP3THW 练习、学习训练、个人小结 Exercise_3
  9. 朗润国际期货,电动汽车与电动自行车,哪个更快乐?
  10. 26场景优化 27UV贴图