| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 每天一道面试题(15) - 常用的hooks有哪些 具体说一下 -> 正文阅读 |
|
[JavaScript知识库]每天一道面试题(15) - 常用的hooks有哪些 具体说一下 |
说一下常用的hooks?
文章目录useStateuseState的异步问题
具体解释可以参考这一篇文章, 写的比较详细 从react原理角度理解setState究竟是同步还是异步以及react hooks中的更新机制 useState为什么返回是一个数组而不是对象在解构赋值中, 数组的解构赋值是这样的
只要保持位置一一对应即可 但是由于对象中的内容是没有顺序的, 所以对象无法通过顺序对应来进行解构赋值, 所以只能通过键名
所以useState使用数组进行解构赋值, 可以对变量进行命名, 只需要保持顺序对应好即可; 但是如果使用对象的话, 只能使用固定的名字, 而我们通常需要使用多个state, 这样就需要对新的state重新命名, 提高了复杂度 但是其实使用array也会有对应的问题
useEffectuseEffect用法
useEffect && useLayoutEffect的区别useEffect和useLayoutEffect的执行时机不一样
useReduceruseReducer 接受一个 reducer 函数作为参数,reducer 接受两个参数一个是 state 另一个是 action 。然后返回一个状态 count 和 dispath,count 是返回状态中的值,而 dispatch 是一个可以发布事件来更新 state 的
用useReducer实现一个useState所以, 下面是笔者的简易实现
useReducer+useContext实现状态管理使用 useMemo && useCallback在react hooks性能优化中, 这两个hooks必不可少. useMemo和useCallback接收的参数是一样的,都是在其依赖项发生变化后才执行,都是返回缓存的值 区别在于useMemo返回的是函数运行的结果,useCallback返回的是函数。 使用场景: 所以, 使用这两个hooks可以缓存函数或函数的计算结果, 减少子组件的非必要渲染, 从而节省资源 useRef
另一种用法就是用来保存数据, react文档中有这样一句话: 当 ref 对象内容发生变化时,useRef 并不会通知你。变更 看这个经典的例子
usePrevious(使用useRef实现usePrevious)
所以return的是上一步传进来的值, 即实现
像上面这样调用就可以拿到上一步的 PS: 上周去北京出差了, 就没更新文章. (借口) 就是发现每天写一篇文章真的做不到啊 好难啊 还是每周更新两篇吧, 应该不太难, 嗯, 就这么愉快的决定了! |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 2:57:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |