[GENERAL] [FIXED] VirtualizedList/FlatList: Stricter typing for onViewableItemsChanged #42773
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
The previous typing of FlatList and VirtualizedList did not convey any information on the type of the items passed in to
onViewableItemsChanged
, but instead the type was set toany
. This PR adds the type information.I set a default type
any
for thy ViewToken, because the type is exported and not having it would be a breaking change if that type is used. Like this it gracefully falls back to the default behavior of theany
type.Notice: I don't know how typing in "flow" works, but the same "issue" seems to be in there as well. Maybe someone with more flow experience can fix that as well:
react-native/packages/virtualized-lists/Lists/ViewabilityHelper.js
Lines 19 to 20 in ae42e02
Changelog:
[GENERAL] [FIXED] - Add type information for items of VirtualizedList in
onViewableItemsChanged
signature[GENERAL] [FIXED] - Add type information for items of FlatList in
onViewableItemsChanged
signatureTest Plan:
Without the changes, typecheck of the project was fine, but with the changes applied to the node_modules/react-native copy a type error was found: