Add cancelable prop, use mixed return type for event handlers
Summary: Changelog: [General][Added] Added `cancelable` prop to Pressable. [General][Changed] Event handlers return mixed type instead of void. Reviewed By: yungsters Differential Revision: D26432837 fbshipit-source-id: c7bafdec085d08a06e859b45bff91a3b07d747ed
This commit is contained in:
Родитель
927573c581
Коммит
7f005e6077
|
@ -51,6 +51,12 @@ type Props = $ReadOnly<{|
|
|||
importantForAccessibility?: ?('auto' | 'yes' | 'no' | 'no-hide-descendants'),
|
||||
onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,
|
||||
|
||||
/**
|
||||
* Whether a press gesture can be interrupted by a parent gesture such as a
|
||||
* scroll event. Defaults to true.
|
||||
*/
|
||||
cancelable?: ?boolean,
|
||||
|
||||
/**
|
||||
* Either children or a render prop that receives a boolean reflecting whether
|
||||
* the component is currently pressed.
|
||||
|
@ -81,27 +87,27 @@ type Props = $ReadOnly<{|
|
|||
/**
|
||||
* Called when this view's layout changes.
|
||||
*/
|
||||
onLayout?: ?(event: LayoutEvent) => void,
|
||||
onLayout?: ?(event: LayoutEvent) => mixed,
|
||||
|
||||
/**
|
||||
* Called when a long-tap gesture is detected.
|
||||
*/
|
||||
onLongPress?: ?(event: PressEvent) => void,
|
||||
onLongPress?: ?(event: PressEvent) => mixed,
|
||||
|
||||
/**
|
||||
* Called when a single tap gesture is detected.
|
||||
*/
|
||||
onPress?: ?(event: PressEvent) => void,
|
||||
onPress?: ?(event: PressEvent) => mixed,
|
||||
|
||||
/**
|
||||
* Called when a touch is engaged before `onPress`.
|
||||
*/
|
||||
onPressIn?: ?(event: PressEvent) => void,
|
||||
onPressIn?: ?(event: PressEvent) => mixed,
|
||||
|
||||
/**
|
||||
* Called when a touch is released before `onPress`.
|
||||
*/
|
||||
onPressOut?: ?(event: PressEvent) => void,
|
||||
onPressOut?: ?(event: PressEvent) => mixed,
|
||||
|
||||
/**
|
||||
* Either view styles or a function that receives a boolean reflecting whether
|
||||
|
@ -144,6 +150,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
|
|||
accessible,
|
||||
android_disableSound,
|
||||
android_ripple,
|
||||
cancelable,
|
||||
children,
|
||||
delayLongPress,
|
||||
disabled,
|
||||
|
@ -184,6 +191,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
|
|||
|
||||
const config = useMemo(
|
||||
() => ({
|
||||
cancelable,
|
||||
disabled,
|
||||
hitSlop,
|
||||
pressRectOffset: pressRetentionOffset,
|
||||
|
@ -215,6 +223,7 @@ function Pressable(props: Props, forwardedRef): React.Node {
|
|||
[
|
||||
android_disableSound,
|
||||
android_rippleConfig,
|
||||
cancelable,
|
||||
delayLongPress,
|
||||
disabled,
|
||||
hitSlop,
|
||||
|
|
Загрузка…
Ссылка в новой задаче