useModal

Hooks that exposes Modalfy's API. The object returned by useModal()is covered in , you can get some nice autocomplete by utilizing ModalProp.

Note: Prefer withModal() HOC if you're using a Class component.

const useModal = <P extends ModalfyParams>(): UsableModalProp<P> => {
  const context: UsableModalProp<P> = React.useContext(ModalContext)
  const { closeModal, closeModals, closeAllModals } = modalfy<P>()
  return {
    closeAllModals: closeAllModals: closeAllModals as UsableModalProp<P>['closeAllModals'],

    closeModals: closeModals as UsableModalProp<P>['closeModals'],

    closeModal: closeModal as UsableModalProp<P>['closeModal'],

    currentModal: context.currentModal,

    openModal: context.openModal,
  }
}

If you're using TypeScript and have your params types, you can get some nice autocomplete by utilizinguseModal()like this:

import { ModalStackParamsList } from 'App'
// ...
const { openModal } = useModal<ModalStackParamsList>()

Last updated