React Native ships rich prop surfaces on built-in components. TypeScript utility types - especially StyleProp and ComponentProps - let you extend Pressable, Text, and View without duplicating dozens of optional props or breaking style arrays.
Typing style as ViewStyle only - Callers cannot pass [styles.base, props.style] or falsy guards. Fix: Use StyleProp<ViewStyle>.
Narrowing Pressable style to ViewStyle - Pressable accepts a function ({ pressed }) => style. Fix: Use PressableProps["style"] for overrides that must support the callback form.
Spreading props before explicit ones - {...pressableProps} onPress={mine} gets overwritten by the spread if order is wrong. Fix: Spread ...pressablePropslast only when callers should override defaults; otherwise destructure onPress explicitly.
Duplicating interface ButtonProps by hand - Missing accessibilityState or android_ripple when RN adds props. Fix: Start from ComponentProps<typeof Pressable> and Omit what you replace.
TextStyle on TextInput - TextInput style prop includes font props but also box model; conflating with ViewStyle causes errors. Fix: Use StyleProp<TextStyle> for input text styling; wrap in View for layout.
Partial on required branding props - Partial<CardProps> makes title optional when it should always be present. Fix:Partial<Pick<CardProps, "style" | "titleStyle">> for optional slots only.
Importing ComponentProps from react - Works for DOM projects; RN primitives need react-native types for StyleProp and platform-specific props. Fix: Import both from react-native where available.