在 Taro Hooks 出来 之后就一直想着体验一波 Hooks 小程序开发,不过一直忙着补番 😌。最近补完了,就搞了起来,开发了 20 天左右(其实大部分时间都在改 UI😒),基本上是完成了,然后也上架了,遂跟大家分享一点心得 😈
可以先扫描体验:
网络不稳定的小伙伴看预览:
在 GitHub Pro 的开发中,我写了四个 hooks,来帮助我提高开发效率
useRequest
useRequestWithMore
useReachBottomEvent
usePullDownRefreshEvent
接下来就分析一下它们的作用
useRequest
作用同名字,用来进行网络请求,传入请求参数以及进行请求的函数,存储数据,返回 [currData, refresh] ,其中currData是存储的返回数据,refresh用于刷新请求。
function useRequest(
params: any,
request: (params: any) => Promise
): [T | null, () => void] | [] {
const [currData, setData] = useState(null)
const [count, setCount] = useState(0)
const pagePullDownRef = useRef('')
useEffect(() => {
request(params).then(data => {
if (data) {
setData(data)
}
})
}, [count])
usePullDownRefresh(() => {
refresh()
})
use