From b634fa1edb56bd01724d24dee4b0243c68ddc4d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Tue, 21 Jan 2025 07:06:39 -0800 Subject: [PATCH] Add explicit type for _memoizedRenderer and change React and View import in FlatList (#48798) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/48798 Changelog: [General][Changed] - Added explicit type for _memoizedRenderer and changed React and View import in FlatList Reviewed By: cortinico Differential Revision: D68417026 fbshipit-source-id: 0af75381f6f8c33be10add940f0791b059de3473 --- packages/react-native/Libraries/Lists/FlatList.js | 7 +++---- .../__tests__/__snapshots__/public-api-test.js.snap | 6 ++---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/packages/react-native/Libraries/Lists/FlatList.js b/packages/react-native/Libraries/Lists/FlatList.js index 18afd5f93e1..75b83bcd435 100644 --- a/packages/react-native/Libraries/Lists/FlatList.js +++ b/packages/react-native/Libraries/Lists/FlatList.js @@ -19,18 +19,18 @@ import type { import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags'; import {type ScrollResponderType} from '../Components/ScrollView/ScrollView'; +import View from '../Components/View/View'; import { VirtualizedList, keyExtractor as defaultKeyExtractor, } from '@react-native/virtualized-lists'; import memoizeOne from 'memoize-one'; +import React from 'react'; -const View = require('../Components/View/View'); const StyleSheet = require('../StyleSheet/StyleSheet'); const deepDiffer = require('../Utilities/differ/deepDiffer'); const Platform = require('../Utilities/Platform'); const invariant = require('invariant'); -const React = require('react'); type RequiredProps = { /** @@ -672,8 +672,7 @@ class FlatList extends React.PureComponent, void> { : {renderItem: renderProp}; }; - // $FlowFixMe[missing-local-annot] - _memoizedRenderer = memoizeOne(this._renderer); + _memoizedRenderer: ReturnType = memoizeOne(this._renderer); render(): React.Node { const { 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 e4d5b86e3a5..dc3a3788f15 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 @@ -5691,9 +5691,7 @@ declare module.exports: FillRateHelper; `; exports[`public API should not change unintentionally Libraries/Lists/FlatList.js 1`] = ` -"declare const View: $FlowFixMe; -declare const React: $FlowFixMe; -type RequiredProps = { +"type RequiredProps = { data: ?$ReadOnly<$ArrayLike>, }; type OptionalProps = { @@ -5782,7 +5780,7 @@ declare class FlatList extends React.PureComponent, void> { }) => void ): void; _renderer: $FlowFixMe; - _memoizedRenderer: $FlowFixMe; + _memoizedRenderer: ReturnType; render(): React.Node; } declare module.exports: FlatList;