From 17f06c7532e0f22ef3ff3fd3a971be9a92e16db4 Mon Sep 17 00:00:00 2001 From: manse Date: Fri, 29 Jun 2018 18:04:33 +0900 Subject: [PATCH] fix scroll over bottom in scrollToIndex --- Libraries/Lists/VirtualizedList.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Libraries/Lists/VirtualizedList.js b/Libraries/Lists/VirtualizedList.js index 47b6b5f083e1d7..b42ab7e6575432 100644 --- a/Libraries/Lists/VirtualizedList.js +++ b/Libraries/Lists/VirtualizedList.js @@ -321,12 +321,17 @@ class VirtualizedList extends React.PureComponent { return; } const frame = this._getFrameMetricsApprox(index); + + const maxOffset = Math.max(0, this._scrollMetrics.contentLength - this._scrollMetrics.visibleLength); const offset = Math.max( 0, - frame.offset - - (viewPosition || 0) * - (this._scrollMetrics.visibleLength - frame.length), + Math.min( + maxOffset, + frame.offset - + (viewPosition || 0) * + (this._scrollMetrics.visibleLength - frame.length), + ) ) - (viewOffset || 0); /* $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