react-native-multiple-modals
Version:
Native implementation with the ability to display multiple Modals
20 lines (19 loc) • 563 B
JavaScript
;
import { useState, useEffect } from 'react';
const currentModals = new Set();
export function useModalRegistry(modalId) {
const [modals, setModals] = useState(new Set(currentModals));
useEffect(() => {
currentModals.add(modalId);
setModals(new Set(currentModals));
return () => {
currentModals.delete(modalId);
setModals(new Set(currentModals));
};
}, [modalId]);
return {
modals,
isBackdropVisible: modals.size > 0 && Array.from(modals)[0] === modalId
};
}
//# sourceMappingURL=useModalRegistry.js.map