mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
9253fc3b42
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/52380 Apps that rely support focus in FlatList rendered items are missing out on a FlatList optimization that defers rendering for offscreen content updates. For example, on Android, if you focus and smooth scroll an item into view, the onScroll event will fire first. For most sufficiently large virtualization windows, the next render will be delayed by the render batch timeout as most materialization of virtualized views is not treated as a high pri render. However, this batch / timeout mechanism isn't being used for cell render updates that occur as a result of a focus change. This change adds the same timeout mechanism used for scroll events. In most cases, the view that is focused is in the viewport, and the extra rendering needed is already scheduled (or executed with high priority if needed) when the onScroll event is processed. In cases where the focus change occurs outside the viewport, most platforms will want to do some kind of "bring into view" anyway, and the same applies - onScroll will take care of scheduling the cell rendering priority. ## Changelog [Internal] Reviewed By: NickGerleman Differential Revision: D77681274 fbshipit-source-id: 1ade377e513eca21338a380ff9299dd410606aec
@react-native/virtualized-lists
Installation
yarn add @react-native/virtualized-lists
Note: We're using yarn to install deps. Feel free to change commands to use npm 3+ and npx if you like
Testing
To run the tests in this package, run the following commands from the React Native root folder:
yarnto install the dependencies. You just need to run this onceyarn jest packages/virtualized-lists.