react函数组件内常用的方法
一、useMemo函数 ( 参考)
首先
useMemo
它使用来做缓存用的,只有当一个依赖项改变的时候才会发生变化,否则拿缓存的值,就不用在每次渲染的时候再做计算
二:useCallback函数 (参考)
如果deps给出的依赖值不变 ,则useCallback在两次渲染阶段之间返回相同的函数实例。
三:useCallback和useMemo有何不同
useCallback和useMemo的参数跟useEffect一致,他们之间最大的区别有是useEffect会用于处理副作用,而前两个hooks不能。
useMemo和useCallback都会在组件第一次渲染的时候执行,之后会在其依赖的变量发生改变时再次执行;并且这两个hooks都返回缓存的值,useMemo返回缓存的变量,useCallback返回缓存的函数。
四:setState函数 (参考)
setState同步、异步
- 当你在定时器中操作 state 的时候,而 setState 更新就是同步的。
- 事件绑定中操作 state 的时候,setState更新就是异步的
因为涉及到 state 的状态合并,react 认为当你在事件绑定中操作 state 是非常频繁的,所以为了节约性能 react 会把多次 setState 进行合并为一次,最后在一次性的更新 state,而定时器里面操作 state 是不会把多次合并为一次更新的。