react-native-screens
Version:
Native navigation primitives for your React Native app.
37 lines (26 loc) • 1.08 kB
text/typescript
import { NativeSyntheticEvent, ViewProps } from 'react-native';
export type OnDismissEventPayload = {
isNativeDismiss: boolean;
};
export type EmptyEventPayload = Record<string, never>;
export type OnDismissEvent = NativeSyntheticEvent<OnDismissEventPayload>;
export type StackScreenActivityMode = 'detached' | 'attached';
export type StackScreenEventHandler = (
event: NativeSyntheticEvent<EmptyEventPayload>,
) => void;
export type StackScreenProps = {
children?: ViewProps['children'] | undefined;
// Control
activityMode: StackScreenActivityMode;
screenKey: string;
// Events
onWillAppear?: StackScreenEventHandler | undefined;
onDidAppear?: StackScreenEventHandler | undefined;
onWillDisappear?: StackScreenEventHandler | undefined;
onDidDisappear?: StackScreenEventHandler | undefined;
onDismiss?: ((screenKey: string) => void) | undefined;
onNativeDismiss?: ((screenKey: string) => void) | undefined;
onNativeDismissPrevented?: StackScreenEventHandler | undefined;
// Configuration
preventNativeDismiss?: boolean | undefined;
};