React中常见Hooks总结

React中常用Hooks总结

1.useState

React中的 useState 其实就相当于Vue中的ref()和reactive() ,生成响应式数据。

在Vue中数据使用响应式对象( Proxy),Vue会对数据进行劫持,当数据发生改变的时候,Vue会调用Render函数对视图进行更新。reat使用下面的setX()函数调用render。

React.js 使用一种称为虚拟 DOM(Virtual DOM)的机制来实现高效的响应式更新。当状态(State)发生变化时,React.js 会重新计算虚拟 DOM 树,并与之前的虚拟 DOM 树进行比较,找出需要更新的部分,然后仅更新这些部分到实际 DOM。这样可以减少对实际 DOM 的操作,提高性能。

js 复制代码
const [x, setX] = useState(0)
//使用setX改变x的值
//x的值可以直接使用

2.useRef

useRef 是 React 提供的一个 Hook,用于在函数组件中持有一个可变的引用值,该值在组件的整个生命周期中保持不变,而不会引发重新渲染。一般用来访问和操作 DOM 元素: 使用 useRef 来持有对 DOM 元素的引用,以便直接操作这些元素。也可以用于防抖和节流函数中,存储最后一次执行函数的时间戳或计时器 ID。

js 复制代码
const Ref = useRef(null)
<input ref={Ref}/>

// Ref.current 就可以定位到这个input组件

3.useMemo

useMemo相当于 Vue 计算属性(computed),用于优化性能,通过在依赖项未发生变化时缓存计算结果,从而避免不必要的重复计算。我们可以使用 useMemo 来缓存一些计算结果,使得只有在依赖项变化时才重新计算。

  • 用途:记忆化某个计算结果,只有在依赖项改变时才重新计算。
  • 返回值:返回的是计算结果的值。
  • 常见用法:用于优化复杂计算或昂贵的计算,以避免每次渲染时都重新计算。

4.useCallback

useCallback 是一个用于性能优化的钩子,它返回一个记忆的回调函数。这对于在子组件中传递回调函数特别有用,可以防止不必要的重新渲染。

  • 用途:记忆化函数,只有在依赖项改变时才返回新的函数实例。
  • 返回值:返回的是记忆化的函数。
  • 常见用法:用于优化传递给子组件的回调函数,避免因函数引用变化导致的子组件不必要重新渲染。

5.useEffect

组件挂载完成之后 或 组件数据更新完成之后 执行 就像vue的onmounted,updated。

6.useReducer

向组件里面添加一个 reducer。建立store的,可以和redux配合使用。

相关推荐
拉不动的猪1 分钟前
安卓和ios小程序开发中的兼容性问题举例
前端·javascript·面试
炫彩@之星7 分钟前
Chrome书签的导出与导入:步骤图
前端·chrome
贩卖纯净水.18 分钟前
浏览器兼容-polyfill-本地服务-优化
开发语言·前端·javascript
前端百草阁24 分钟前
从npm库 Vue 组件到独立SDK:打包与 CDN 引入的最佳实践
前端·vue.js·npm
夏日米米茶24 分钟前
Windows系统下npm报错node-gyp configure got “gyp ERR“解决方法
前端·windows·npm
且白1 小时前
vsCode使用本地低版本node启动配置文件
前端·vue.js·vscode·编辑器
程序研1 小时前
一、ES6-let声明变量【解刨分析最详细】
前端·javascript·es6
疯狂的沙粒1 小时前
在uni-app中如何从Options API迁移到Composition API?
javascript·vue.js·uni-app
siwangqishiq21 小时前
Vulkan Tutorial 教程翻译(四) 绘制三角形 2.2 呈现
前端
李三岁_foucsli1 小时前
js中消息队列和事件循环到底是怎么个事,宏任务和微任务还存在吗?
前端·chrome