From aadb1d9eb13a0f4f8a3f778b57e7cef6caca787e Mon Sep 17 00:00:00 2001 From: Sam Zhou Date: Tue, 22 Oct 2024 16:10:54 -0700 Subject: [PATCH] Eliminate final few `React$AbstractComponent` (#47163) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/47163 In order to adopt react 19's ref-as-prop model, we need to eliminate all the places where they are treated differently. `React.AbstractComponent` is the worst example of this, and we need to eliminate it. This diff replaces final few in libdefs. Changelog: [internal] Reviewed By: alexmckenley Differential Revision: D64776942 fbshipit-source-id: 5e96c6d4fecb1b6cf539a00aecb10b9b35fc140b --- .../rn-tester/js/components/RNTesterModuleList.js | 2 +- .../js/examples/Performance/components/ItemList.js | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/rn-tester/js/components/RNTesterModuleList.js b/packages/rn-tester/js/components/RNTesterModuleList.js index 57aa08ba34976e..699d9c8e7ffd78 100644 --- a/packages/rn-tester/js/components/RNTesterModuleList.js +++ b/packages/rn-tester/js/components/RNTesterModuleList.js @@ -61,7 +61,7 @@ const renderSectionHeader = ({section}: {section: any, ...}) => ( ); -const RNTesterModuleList: React.ComponentType = React.memo( +const RNTesterModuleList: React.ComponentType = React.memo( ({sections, handleModuleCardPress}) => { const filter = ({example, filterRegex, category}: any) => filterRegex.test(example.module.title) && diff --git a/packages/rn-tester/js/examples/Performance/components/ItemList.js b/packages/rn-tester/js/examples/Performance/components/ItemList.js index d28255d5bc3fd9..600311b2897d24 100644 --- a/packages/rn-tester/js/examples/Performance/components/ItemList.js +++ b/packages/rn-tester/js/examples/Performance/components/ItemList.js @@ -29,11 +29,12 @@ function Item(props: {data: ItemDataType}): React.Node { ); } -interface ItemListProps { - data: ItemDataType[]; - useFlatList?: boolean; - onScroll?: (evt: ScrollEvent) => void; -} +type ItemListProps = $ReadOnly<{ + data: ItemDataType[], + useFlatList?: boolean, + onScroll?: (evt: ScrollEvent) => void, + ... +}>; function renderItem({item}: {item: ItemDataType, ...}): React.MixedElement { return ;