diff --git a/packages/react-native/Libraries/Components/View/View.js b/packages/react-native/Libraries/Components/View/View.js index 97b8ba39152..4f13e1ec49d 100644 --- a/packages/react-native/Libraries/Components/View/View.js +++ b/packages/react-native/Libraries/Components/View/View.js @@ -24,7 +24,7 @@ export type Props = ViewProps; * @see https://reactnative.dev/docs/view */ const View: component( - ref: React.RefSetter>, + ref?: React.RefSetter>, ...props: ViewProps ) = React.forwardRef( ( diff --git a/packages/react-native/Libraries/Components/View/ViewPropTypes.js b/packages/react-native/Libraries/Components/View/ViewPropTypes.js index 2c8b52fc43f..92ebd50093e 100644 --- a/packages/react-native/Libraries/Components/View/ViewPropTypes.js +++ b/packages/react-native/Libraries/Components/View/ViewPropTypes.js @@ -356,17 +356,7 @@ export type ViewPropsIOS = $ReadOnly<{ shouldRasterizeIOS?: ?boolean, }>; -export type ViewProps = $ReadOnly<{ - ...DirectEventProps, - ...GestureResponderHandlers, - ...MouseEventProps, - ...PointerEventProps, - ...FocusEventProps, - ...TouchEventProps, - ...ViewPropsAndroid, - ...ViewPropsIOS, - ...AccessibilityProps, - +type ViewBaseProps = $ReadOnly<{ children?: Node, style?: ?ViewStyleProp, @@ -454,3 +444,16 @@ export type ViewProps = $ReadOnly<{ */ removeClippedSubviews?: ?boolean, }>; + +export type ViewProps = $ReadOnly<{ + ...DirectEventProps, + ...GestureResponderHandlers, + ...MouseEventProps, + ...PointerEventProps, + ...FocusEventProps, + ...TouchEventProps, + ...ViewPropsAndroid, + ...ViewPropsIOS, + ...AccessibilityProps, + ...ViewBaseProps, +}>; diff --git a/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap b/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap index 877bb176154..490870b95d4 100644 --- a/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap +++ b/packages/react-native/Libraries/__tests__/__snapshots__/public-api-test.js.snap @@ -3633,7 +3633,7 @@ declare export default typeof ReactNativeViewAttributes; exports[`public API should not change unintentionally Libraries/Components/View/View.js 1`] = ` "export type Props = ViewProps; declare const View: component( - ref: React.RefSetter>, + ref?: React.RefSetter>, ...props: ViewProps ); declare export default typeof View; @@ -3927,16 +3927,7 @@ export type ViewPropsAndroid = $ReadOnly<{ export type ViewPropsIOS = $ReadOnly<{ shouldRasterizeIOS?: ?boolean, }>; -export type ViewProps = $ReadOnly<{ - ...DirectEventProps, - ...GestureResponderHandlers, - ...MouseEventProps, - ...PointerEventProps, - ...FocusEventProps, - ...TouchEventProps, - ...ViewPropsAndroid, - ...ViewPropsIOS, - ...AccessibilityProps, +type ViewBaseProps = $ReadOnly<{ children?: Node, style?: ?ViewStyleProp, collapsable?: ?boolean, @@ -3949,6 +3940,18 @@ export type ViewProps = $ReadOnly<{ pointerEvents?: ?(\\"auto\\" | \\"box-none\\" | \\"box-only\\" | \\"none\\"), removeClippedSubviews?: ?boolean, }>; +export type ViewProps = $ReadOnly<{ + ...DirectEventProps, + ...GestureResponderHandlers, + ...MouseEventProps, + ...PointerEventProps, + ...FocusEventProps, + ...TouchEventProps, + ...ViewPropsAndroid, + ...ViewPropsIOS, + ...AccessibilityProps, + ...ViewBaseProps, +}>; " `;