Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import { ensureInMiniProgram } from './ensureInMiniProgram' import { isPromiseLike } from '../utils' import { miniProgramBus } from './miniProgramBus' import { useEffect } from 'react' import { useLatest } from '../react' export function usePullDownRefresh(callback: () => any): void { const latestCallback = useLatest(callback) useEffect(() => { return miniProgramBus.on('currentPagePullDownRefresh', () => { ensureInMiniProgram(mp => { const res = latestCallback.current() if (isPromiseLike(res)) { res.then(() => mp.stopPullDownRefresh()) } else { mp.stopPullDownRefresh() } }) }) }, []) } |