这篇文章单纯说下看了ahooks源码之后,仅阐述一下自己的观点
中文官网
useMount
源码:https://github.com/alibaba/hooks/blob/master/packages/hooks/src/useMount/index.ts
- 通过源码可以看出,只是对useEffect做了一层封装,再换句话说把
useEffect
作为一个方法导出进行使用 - 再通过官网的例子可以看出:https://ahooks.js.org/zh-CN/hooks/use-mount#%E5%9F%BA%E7%A1%80%E7%94%A8%E6%B3%95,只是少了一个
[]
副作用
-
useUpdateEffect
源码:https://github.com/alibaba/hooks/blob/master/packages/hooks/src/createUpdateEffect/index.ts
通过源码可以得出:和上面的
useMount
刚好相反,useMount
只在初始化时候执行,useUpdateEffect
只在依赖更新时执行-
useSetState
react的
useEffect
因为没有this.setState
自动合并这一功能:https://zh-hans.reactjs.org/docs/hooks-reference.html#useeffect所以使用
useEffect
需要手动合并,这时可以使用useSetState
https://github.com/alibaba/hooks/blob/master/packages/hooks/src/useSetState/index.tsuseTitle
源码:https://github.com/alibaba/hooks/blob/master/packages/hooks/src/useTitle/index.ts
通过源码可以得出:多做一步判断,然后依然是通过
document.title
实现- 总结:直接使用
document.title
亦可