当前位置: 首页 > news >正文

hooks组件-useState

hooks组件-useState

hook组件的本质就是函数组件,但是基于各种hook让其动态化!

常用hook:

useReducer:redux

useCallback

useMemo:去做一些优化。

useRef:使用ref

useImperativeHandle:拿到子组件的属性和方法

useLayoutEffect:

useState以及底层:每次都是全新私有上下文

每次渲染,都会是一个全新的作用域私有上下文

那useState如何实现这一点?一个方法拿到的机制是不一样的?

怎么通知视图更新?拿到我的属性,也知道哪个组件,那所以也就是把属性传过来,组件函数重新执行。

内部多个useState?全局肯定会有多个状态,依赖于每个useState<->每个状态肯定会有多个映射。

例题:

2000ms后输出num,结果还是0.

整体更新&异步

  1. useState是整体更新

  1. 异步

当前代码块执行完了再批处理刷新

更建议拆解变量

自带内部优化机制

Object.is判等若相等不再更新

判断是否相等。使用Object.is去判断,比如NaN,===是false,但是Object.is是true。

*第一个参数是函数

prev是上次函数执行结果的返回值

*useState初始值的惰性化处理

也是将参数做成函数

总结

http://www.lqws.cn/news/84547.html

相关文章:

  • 吴恩达机器学习笔记(1)—引言
  • 设计模式——访问者设计模式(行为型)
  • wow Warlock shushia [Dreadsteed]
  • 地图 APP 和购物 APP 是最急切上 AI的地方
  • Artificial Analysis2025年Q1人工智能发展六大趋势总结
  • ThreadLocal ,底层原理,强引用,弱引用,内存泄漏
  • Vue3(watch,watchEffect,标签中ref的使用,TS,props,生命周期)
  • FastAPI+Pyomo实现线性回归解决饮食问题
  • 函数调用的机器级实现(二):栈帧的访问与切换机制
  • 极客时间:用 FAISS、LangChain 和 Google Colab 模拟 LLM 的短期与长期记忆
  • 【springcloud】快速搭建一套分布式服务springcloudalibaba(四)
  • python爬虫:Ruia的详细使用(一个基于asyncio和aiohttp的异步爬虫框架)
  • Langchian - 自定义提示词模板 提取结构化的数据
  • 【redis实战篇】第七天
  • 在 Linux 服务器上无需 sudo 权限解压/打包 .7z 的方法(实用命令)
  • 小团队如何落地 Scrum 模型:从 0 到 1 的实战指南
  • rabbitmq Direct交换机简介
  • C++——AVL平衡树
  • Java递归编程中的StackOverflowError问题分析与解决方案
  • 题目 3230: 蓝桥杯2024年第十五届省赛真题-星际旅行
  • 数字孪生智慧水利解决方案:数字化场景、智慧化模拟、精准化决策,构建数字孪生流域为核心的智慧水利体系
  • 【笔记】Windows 部署 Suna 开源项目完整流程记录
  • 前端面试宝典---前端水印
  • Linux中的System V通信标准-共享内存、消息队列以及信号量
  • API 版本控制:使用 ABP vNext 实现版本化 API 系统
  • SpringBoot统一功能处理
  • linux驱动 - 5: simple usb device驱动
  • PART 6 树莓派小车+QT (TCP控制)
  • DDP学习
  • 什么是煤矿智能掘进