From 59281443021e271c9112d60a2c2276fe10a67e37 Mon Sep 17 00:00:00 2001 From: Nick Gerleman Date: Wed, 7 Dec 2022 13:25:36 -0800 Subject: [PATCH] Fix TS Type for measureLayout optional parameter Summary: Encountered this, causing typechecking to fail on an example in the current RN documentation. `onFail` is an optional parameter (see https://github.com/facebook/react/blob/8e2bde6f2751aa6335f3cef488c05c3ea08e074a/packages/react-native-renderer/src/ReactNativeTypes.js#L106), which is not optional in current TS types. Update the TS typings to match. Note that "?" here is positioned to be a Flow optional parameter, instead of a maybe type. Which means it accepts undefined, but not null, matching the TS usage of "?" which always means possibly undefined (but never null, like a flow maybe type allows). Changelog: [General][Fixed] - Fix TS Type for measureLayout optional parameter Reviewed By: lunaleaps Differential Revision: D41775900 fbshipit-source-id: 8f53428b8077ec9139c7c1bbc60ed20f5fa9f7ea --- types/public/ReactNativeTypes.d.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/types/public/ReactNativeTypes.d.ts b/types/public/ReactNativeTypes.d.ts index 38e00e1cc9..3acd235ac5 100644 --- a/types/public/ReactNativeTypes.d.ts +++ b/types/public/ReactNativeTypes.d.ts @@ -86,9 +86,11 @@ export interface NativeMethods { * _Can also be called with a relativeNativeNodeHandle but is deprecated._ */ measureLayout( - relativeToNativeComponentRef: HostComponent | number, + relativeToNativeComponentRef: + | React.ElementRef> + | number, onSuccess: MeasureLayoutOnSuccessCallback, - onFail: () => void /* currently unused */, + onFail?: () => void, ): void; /**