@livelike/react-native
Version:
LiveLike React Native package
26 lines • 727 B
JavaScript
import { useEffect } from 'react';
import { bannerStoreActions } from '../store';
import { useBanner } from './useBanner';
export const DEFAULT_BANNER_AUTO_HIDE_TIMEOUT = 4000;
export function useAutoHideBannerEffect(_ref) {
let {
bannerAutoHideTimeout = DEFAULT_BANNER_AUTO_HIDE_TIMEOUT
} = _ref;
const {
banners
} = useBanner();
useEffect(() => {
let timeout;
if (banners.length) {
timeout = setTimeout(() => {
bannerStoreActions.updateBannerItems(banners.slice(1));
}, bannerAutoHideTimeout);
}
return () => {
if (timeout) {
clearTimeout(timeout);
}
};
}, [banners, bannerAutoHideTimeout]);
}
//# sourceMappingURL=useAutoHideBannerEffect.js.map