UNPKG

react-relay

Version:

A framework for building GraphQL-driven React applications.

35 lines (34 loc) 1.08 kB
'use strict'; var useUnsafeRef_DEPRECATED = require('./useUnsafeRef_DEPRECATED'); var _require = require('react'), useCallback = _require.useCallback, useEffect = _require.useEffect; function useFetchTrackingRef() { var subscriptionRef = useUnsafeRef_DEPRECATED(null); var isFetchingRef = useUnsafeRef_DEPRECATED(false); var disposeFetch = useCallback(function () { if (subscriptionRef.current != null) { subscriptionRef.current.unsubscribe(); subscriptionRef.current = null; } isFetchingRef.current = false; }, []); var startFetch = useCallback(function (subscription) { subscriptionRef.current = subscription; isFetchingRef.current = true; }, []); var completeFetch = useCallback(function () { subscriptionRef.current = null; isFetchingRef.current = false; }, []); useEffect(function () { return disposeFetch; }, [disposeFetch]); return { isFetchingRef: isFetchingRef, startFetch: startFetch, disposeFetch: disposeFetch, completeFetch: completeFetch }; } module.exports = useFetchTrackingRef;