来自卡颂
自变量=>因变量变化对应视图变化,
-
显式指定自变量可以把因变量缓存下来,只要自变量不变始终读取缓存(否则实际会创建新的因变量)
- useMemo缓存一个因变量,并显式地指定自变量
- useCallback缓存一个函数类型的因变量,同样要指定依赖的自变量
const y = useMemo(() => 2 * x + 1, [x]); const changeX= useCallback(() => setX(x+1)); -
当不是纯函数,使因变量输出不固定时,这个函数就是包含副作用,不仅改变视图
- useEffect定义有副作用的因变量
- 如根据x的值修改标题,请求数据,操作dom
-
useReducer进阶版的useState,用Redux的理念把多个state合为一个,方便操作更多自变量
-
一个组件的因变量能作为另一个组件的自变量,当有多级组件
- 在第一级组件用createContext创建context,在子级组件用useContext可以直接用一级的context
-
useRef保存标记,起到缓存数据的作用