diff --git a/Libraries/Lists/VirtualizedList.js b/Libraries/Lists/VirtualizedList.js index f6a9c6e2ee7c6e..a14bcde7be8305 100644 --- a/Libraries/Lists/VirtualizedList.js +++ b/Libraries/Lists/VirtualizedList.js @@ -330,13 +330,20 @@ class VirtualizedList extends React.PureComponent { return; } const frame = this._getFrameMetricsApprox(index); - const offset = + const maxScroll = + this._scrollMetrics.contentLength - this._scrollMetrics.visibleLength; + let offset = Math.max( 0, frame.offset - (viewPosition || 0) * (this._scrollMetrics.visibleLength - frame.length), ) - (viewOffset || 0); + + /* Fix for overscrolling */ + if (offset > maxScroll) { + offset = maxScroll; + } /* $FlowFixMe(>=0.53.0 site=react_native_fb,react_native_oss) This comment * suppresses an error when upgrading Flow's support for React. To see the * error delete this comment and run Flow. */