React Native Modalfy
Searchโ€ฆ
modalfy
Function that exposes Modalfy's API outside of React's context. The object returned by modalfy()is covered in ModalProp.
Note: Do not use if you're inside a React component. Please consider useModal() or withModal() instead.
TypeScript
const modalfy = <
P extends ModalfyParamsm,
M extends keyof P
>(): UsableModalProp<P> => {
const context: UsableModalProp<P> = React.useContext(ModalContext)
return {
closeAllModals: (callback?: () => void) => {
ModalState.queueClosingAction({ action: 'closeAllModals', callback })
},
โ€‹
closeModals: (modalName: M, callback?: () => void) =>
ModalState.queueClosingAction({
action: 'closeModals',
modalName,
callback,
}),
closeModal: (modalName?: M, callback?: () => void) => {
ModalState.queueClosingAction({
action: 'closeModal',
modalName,
callback,
})
},
โ€‹
currentModal: ModalState.getState<P>()?.currentModal,
โ€‹
openModal: (modalName: M, params?: P[M], callback?: () => void) =>
ModalState.openModal(modalName, params, true, callback),
}
}
react-native-modalfy/ModalState.ts at main ยท colorfy-software/react-native-modalfy
GitHub
If you're using TypeScript and have your params types, you can get some nice autocomplete by utilizing modalfy()like this:
import { ModalStackParamsList } from 'App'
// ...
const { openModal } = modalfy<ModalStackParamsList>()
Copy link