react hooks

常用的hooks钩子:

1、useState:保存组件内部状态的函数,setState改变组件状态

2、uesEffect:在函数组件中执行副作用操作,

相当于componentDidMount,componentDidUpdate 和 componentWillUnmount。

清除事件监听

//清除事件监听
useEffect(()=>{
 const mouseMoveHandler=(e:MouseEvent)=>{
  setPosition({x:e.clientX,y:e.clientY})
 }
 window.addEventListener('mousemove',mouseMoveHandler)
 return ()=>window.removeEventListener('mousemove',mouseMoveHandler)
},[])

清除定时器
在这里插入图片描述

3、useContext: 跨组件传值

在这里插入图片描述

3.1以非侵入的方式使用context

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、useReducer:useState的加强版,在某些场景下,useReducer 会比 useState 更适用,例如 state 逻辑较复杂且包含多个子值,或者下一个 state 依赖于之前的 state 等

useReducer(fn,初始数据,对初始数据进行处理的fn)
在这里插入图片描述

在这里插入图片描述

***更新数据用dispatch***
dispatch({type:'UPDATE_NAME',payload:'张三'})

在这里插入图片描述

***useReducer的简便写法是使用:useImmerReducer
//npm i immer use-immer -S
 import {useImmerReducer} from 'use-immer'

在这里插入图片描述

5、useCallback :和useEffect类似,把函数做为第一个参数,把函数的依赖项作为第二个参数传入,该回调函数只有在函数的依赖项发生改变时才会调用,返回的是一个回调函数。 相当于computed

  • usecallback缓存函数
  • react.memo缓存组件
  • usememo缓存值

在这里插入图片描述

6、useMemo:和uesCallback类似.,返回的是一个值,而不是函数。

在这里插入图片描述

7、useRef const refContainer = useRef(initialValue);

useRef 返回一个可变的 ref 对象,其 .current 属性被初始化为传入的参数(initialValue)。返回的 ref 对象在组件的整个生命周期内持续存在。

8、useImperativeHandle useImperativeHandle(ref, createHandle, [deps])

9、useLayoutEffect:其函数签名与 useEffect 相同,但它会在所有的 DOM 变更之后同步调用 effect。

在组件被重新渲染之前执行

10、useTranistion

在这里插入图片描述
在这里插入图片描述

  • 在startTransition里的函数只能是同步的
  • transition不能控制文本输入
  • 11、useDeferredValue适合文本框的频繁输入

  • 在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值