(1)useState的使用


设置count的值和name的值;
上边的情况会发生,name的值设置不进去,这注意:如果是对象或者数组等类型,必须要返回一个新的数组或者是对象才是可以的;

初始值是对象

初始值是数组


(2)useEffect的使用


useEffect的第二个参数

第二个参数不写,只要dom变化都会进行监听,都会触发。
如果是【】,只会触发一次。
也可以专门去监听某一个值,比如上面的count, count的值变化,effect 就会执行;

如果要想要清除副作用,则可以在effect里面返回的回调函数里面进行处理。(该回调函数在组件销毁的时候执行)


(3)useRef的使用

useRef的作用

  1. 存取变量
  2. 获取dom


通过.current.value 获取元素的dom值;

常用操作,不修改DOM 更新变量值


(4)useContext的使用

count的值会从父组件传递给子组件;

如果将父子组件拆开成不同的文件演示 --------》》》

三方组件(引入父组件+子组件)

创建父组件

创建子组件


(4)useMemo的使用

说明

状态不更新演示


需要更新的话,第二个参数,去掉就可以;

如果有多个状态,但是只需要根据某个状态进行改变;

上图所示,只根据count去改变状态,num一直在缓存中。只有count的值发生改变,两个值才都会变化;

父子组件拆分成文件演示

父组件传值

子组件控制要不要更新

第二个参数是空数组,表示只执行一次。如果是传递count,表示只根据count的值进行监听;


(5)useCallBack的使用

useCallBack的作用

效果展示


只根据count去监控


(6)useImpriveHandle的使用

forwardRef的作用:

使用forwardRef (当有多个ref的时候,需要获取,起作用);
作用:父组件获取子组件的某个元素

useImpriveHandle的结合使用

作用:暴露给父组件自定义的属性或者方法;

也可以监控子组件某一属性变化的时候,再把值给到父组件;


(7)useLayoutEffect的使用

关于执行顺序

useLayoutEffect总是在useEffect前执行;


(8)自定义Hook的使用


自定义hook实例


(9)useReducer的使用



useReduce + useContext + createContxt 模拟 redux

外部三方组件(引入reduce和组件)

子组件1

子组件2

Reducer的配置

react hooks实例演示相关推荐

  1. 为什么要使用React Hooks?(5分钟实例)

    前言 React Hooks在React v16.8正式稳定版中加入. Hooks是什么? React Hooks 就是让你不必写class组件就可以用state和其他的React特性: 你也可以编写 ...

  2. (十三)react hooks

    react hooks react hooks 出几道react hooks面试题 class组件存在哪些问题 用useState实现state和setState功能 用useEffect模拟组件生命 ...

  3. react hooks使用_何时使用React Suspense和React Hooks

    react hooks使用 React Suspense对Monad就像钩子对应用符号一样 (React Suspense is to a Monad as Hooks are to Applicat ...

  4. React Hooks 使用详解

    本文对 16.8 版本之后 React 发布的新特性 Hooks 进行了详细讲解,并对一些常用的 Hooks 进行代码演示,希望可以对需要的朋友提供点帮助. 一.Hooks 简介 Hooks 是 Re ...

  5. React Hooks

    1.关于 React Hooks React 提倡函数式编程,view = fn(props),函数更灵活,更易拆分,更易测试.尽管函数组件有着许多优势,但是函数组件太简单了,许多功能class组件能 ...

  6. 探React Hooks

    前言 众所周知,hooks在 React@16.8 中已经正式发布了.而下周周会,我们团队有个同学将会仔细介绍分享一下hooks.最近网上呢有不少hooks的文章,这不免激起了我自己的好奇心,想先行探 ...

  7. dw按钮图片滚动js_使用 React Hooks 实现仿石墨的图片预览插件(巨详细)

    点击上方"前端教程",选择"星标" 每天前端开发干货第一时间送达! 作者:DARRELL https://juejin.im/post/5e9bf299f265 ...

  8. 通过 React Hooks 声明式地使用 setInterval

    2019独角兽企业重金招聘Python工程师标准>>> 本文由云+社区发表 作者:Dan Abramov 接触 React Hooks 一定时间的你,也许会碰到一个神奇的问题: se ...

  9. mounty不可重新挂载因为先前没有完全卸载_【译】React Hooks测试完全指南

    原文地址:https://www.toptal.com/react/testing-react-hooks-tutorial 2018年底,React在16.8版本中引入了Hooks.它们(译注:指R ...

最新文章

  1. 服务器报错:“/usr/local/var/run/nginx.pid”failed
  2. 题目3:文本文件单词的检索与计数(实验准备)
  3. PRDICQR and PRD01QR
  4. JAVAWEB入门之Servlet_体系结构
  5. (六)Linux之设备驱动模型(续)
  6. 简述数据库事务并发机制
  7. linux 安装servlet环境_linux下一键搭建LAMP环境安装网站全教程
  8. element step控件点击事件
  9. 如何速成java_极*Java速成教程 - (4)
  10. 华为系统升级提示服务器不可用怎么办,更新服务器不可用
  11. pdf打开错误之读取本文档时出现问题(14)
  12. Linux删除所有文件之后的恢复快照恢复
  13. 雨棚板弹性法计算简图_雨棚板的计算书
  14. 中关村刀片机服务器销售,刀片服务器
  15. linux 的常用命令---------第十三阶段(NFS与DHCP服务,scp用法)
  16. [ 数通面试 ] 奇安信技术支持工程师 面试分享
  17. 微前端之 qiankun 入门、上手、实战(构建大型 web 应用)
  18. MySQL varchar(255) 和 varchar(256) 区别
  19. PilotEdit(文本编辑器软件)官方中文版V14.5.0 | pilotedit是什么软件
  20. 2.1.3如何实现进程的控制、进程控制相关的原语(创建原语、终止、唤醒、阻塞、切换原语)

热门文章

  1. 双塔模型在Airbnb搜索排名中的应用
  2. spark学习:java版JavaRDD与JavaPairRDD的互相转换
  3. ElasticSearch插件demo
  4. 使用vue-cli + webpack搭建vue项目环境
  5. editplus的使用技巧
  6. 文本监控 :oninput onchange onpropertychange 的区别
  7. 正则 8-18位长度,数字,字母,字符 任意两种,不含中文测试通过
  8. AXURE RP EXTENSION For Chrome
  9. 程序员的3年之痒改变的不止薪水(转载)
  10. 用 rsync sersync两个工具实现文件备份及同步 一