最近有一篇挺火的文章回顾了从react发布hooks这一举足轻重的特性一直到现在这两年间的历程,从一开始大家盲目的迷信hooks到现在大家对hooks也渐渐有了清晰的认识,期间也沉淀了很多有用的hooks库
各类有意思的类似于小工具的hooks
1.react-use
该库是各种小工具hooks的收集仓库,包含web传感器、ui、动画效果、生命周期、状态管理...等等各种小巧而精美的hooks
2.ahook
该仓库是由阿里巴巴出名的hooks收集仓库,有很多和react-use相同的hooks,其中主要的一大特色是提供了一些与antd协作使用的hooks,如果平时业务开发用到了antd配合这个hooks仓库会有意想不到的惊喜
管理api异步请求数据的hooks
该类仓库主要封装了从获取后台数据的逻辑,包含获取到的数据以及期间的loading状态和error信息,另外还提供了强大的数据缓存管理能力以及其他类似于轮询请求,出错retry请求,页面重新获取焦点重新请求,断网重连重新请求等有意思的能力
1.swr
2.react-query
至于你想拥抱哪一个感觉就看你个人的爱好了swr有着react-query不具备的全局管理本地数据的能力,虽然没有react-redux那么强劲,但是解决一些简单的数据还是足够了的
成名已久的react库对hooks的拥抱
redux和react-router全面在新版本中支持hooks
1.react-redux
终于脱离了需要一直写connect,mapStateToProps,mapDispatchToProps的苦海,只需要使用useDispatch和useSelector轻松解决问题
2.react-router-dom
于我个人而言每次使用history都要用withRouter这个HOC真的十分痛苦, useHistory真的是福音,另外useLocation、useParams、useRouteMatch来获取不同的router信息也是方便至极