modalfy

Function that exposes Modalfy's API outside of React's context.

const modalfy = <
  P extends ModalfyParamsm,
  M extends keyof P
>(): UsableModalProp<P> => {
  const context: UsableModalProp<P> = React.useContext(ModalContext)
  return {
    closeAllModals: ModalState.closeAllModals,

    closeModal: () => ModalState.closeModal(),

    closeModals: (modalName: M) => ModalState.closeModals(modalName),

    currentModal: ModalState.getState<P>()?.currentModal,

    openModal: (modalName: M, params?: P[M]) =>
      ModalState.openModal(modalName, params, true),
  }
}
https://github.com/colorfy-software/react-native-modalfy/blob/master/lib/ModalState.ts#L253
Types have been simplified for the sake of clarity. Refer to the exact definitions here.

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

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

Last updated

Was this helpful?