🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 优点 * 轻松实现逻辑的复用 * 代码量更少 * 更改状态也变得更加简单 * 更容易拆分组件 * 不用再去考虑 this 的指向问题 ## 缺点: * 状态不同步,useEffect 不好用 解决办法: * useEffect 中不要写太多的依赖,而是拆分成多个 useEffect ## api | 名称 | 描述 | | --- | --- | | useState | 在函数组件中维护自己的状态 | | useEffect | 在函数组件中实现生命周期钩子函数,[]页面加载时执行一次, | | useContext | 用来处理多层级传递数据的方式,减少组件嵌套 | | useReducer | 算是提供一个 mini 的 Redux 版本 | | useCallback | 获得一个记忆函数,避免在某些情况下重新计算,渲染自组件,用来做性能优化 | | useMemo | 获得一个记忆组件,和useCallback非常类似,它适用于返回确定的值 | | useRef | 生成对 DOM 对象的引用,它是一个真正的引用,而不是把值拷过去 | | useImperativeHandle | 透传ref,用于让父组件获取子组件内的引用 | | useLayoutEffect | 同步执行useEffect,在页面完全渲染完成后,操作DOM |