react hooks实例演示
(1)useState的使用
设置count的值和name的值;
上边的情况会发生,name的值设置不进去,这注意:如果是对象或者数组等类型,必须要返回一个新的数组或者是对象才是可以的;
初始值是对象
初始值是数组
(2)useEffect的使用
useEffect的第二个参数
第二个参数不写,只要dom
变化都会进行监听,都会触发。
如果是【】
,只会触发一次。
也可以专门去监听某一个值,比如上面的count, count的值变化,effect 就会执行;
如果要想要清除副作用,则可以在effect里面返回的回调函数里面进行处理。(该回调函数在组件销毁的时候执行)
(3)useRef的使用
useRef的作用
- 存取变量
- 获取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实例演示相关推荐
- 为什么要使用React Hooks?(5分钟实例)
前言 React Hooks在React v16.8正式稳定版中加入. Hooks是什么? React Hooks 就是让你不必写class组件就可以用state和其他的React特性: 你也可以编写 ...
- (十三)react hooks
react hooks react hooks 出几道react hooks面试题 class组件存在哪些问题 用useState实现state和setState功能 用useEffect模拟组件生命 ...
- react hooks使用_何时使用React Suspense和React Hooks
react hooks使用 React Suspense对Monad就像钩子对应用符号一样 (React Suspense is to a Monad as Hooks are to Applicat ...
- React Hooks 使用详解
本文对 16.8 版本之后 React 发布的新特性 Hooks 进行了详细讲解,并对一些常用的 Hooks 进行代码演示,希望可以对需要的朋友提供点帮助. 一.Hooks 简介 Hooks 是 Re ...
- React Hooks
1.关于 React Hooks React 提倡函数式编程,view = fn(props),函数更灵活,更易拆分,更易测试.尽管函数组件有着许多优势,但是函数组件太简单了,许多功能class组件能 ...
- 探React Hooks
前言 众所周知,hooks在 React@16.8 中已经正式发布了.而下周周会,我们团队有个同学将会仔细介绍分享一下hooks.最近网上呢有不少hooks的文章,这不免激起了我自己的好奇心,想先行探 ...
- dw按钮图片滚动js_使用 React Hooks 实现仿石墨的图片预览插件(巨详细)
点击上方"前端教程",选择"星标" 每天前端开发干货第一时间送达! 作者:DARRELL https://juejin.im/post/5e9bf299f265 ...
- 通过 React Hooks 声明式地使用 setInterval
2019独角兽企业重金招聘Python工程师标准>>> 本文由云+社区发表 作者:Dan Abramov 接触 React Hooks 一定时间的你,也许会碰到一个神奇的问题: se ...
- mounty不可重新挂载因为先前没有完全卸载_【译】React Hooks测试完全指南
原文地址:https://www.toptal.com/react/testing-react-hooks-tutorial 2018年底,React在16.8版本中引入了Hooks.它们(译注:指R ...
最新文章
- 服务器报错:“/usr/local/var/run/nginx.pid”failed
- 题目3:文本文件单词的检索与计数(实验准备)
- PRDICQR and PRD01QR
- JAVAWEB入门之Servlet_体系结构
- (六)Linux之设备驱动模型(续)
- 简述数据库事务并发机制
- linux 安装servlet环境_linux下一键搭建LAMP环境安装网站全教程
- element step控件点击事件
- 如何速成java_极*Java速成教程 - (4)
- 华为系统升级提示服务器不可用怎么办,更新服务器不可用
- pdf打开错误之读取本文档时出现问题(14)
- Linux删除所有文件之后的恢复快照恢复
- 雨棚板弹性法计算简图_雨棚板的计算书
- 中关村刀片机服务器销售,刀片服务器
- linux 的常用命令---------第十三阶段(NFS与DHCP服务,scp用法)
- [ 数通面试 ] 奇安信技术支持工程师 面试分享
- 微前端之 qiankun 入门、上手、实战(构建大型 web 应用)
- MySQL varchar(255) 和 varchar(256) 区别
- PilotEdit(文本编辑器软件)官方中文版V14.5.0 | pilotedit是什么软件
- 2.1.3如何实现进程的控制、进程控制相关的原语(创建原语、终止、唤醒、阻塞、切换原语)
热门文章
- 双塔模型在Airbnb搜索排名中的应用
- spark学习:java版JavaRDD与JavaPairRDD的互相转换
- ElasticSearch插件demo
- 使用vue-cli + webpack搭建vue项目环境
- editplus的使用技巧
- 文本监控 :oninput onchange onpropertychange 的区别
- 正则 8-18位长度,数字,字母,字符 任意两种,不含中文测试通过
- AXURE RP EXTENSION For Chrome
- 程序员的3年之痒改变的不止薪水(转载)
- 用 rsync sersync两个工具实现文件备份及同步 一