mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Don't scroll to initial item if ContentOffset is provided
Summary: The initialScrollIndex in VirtualizedList contains a performance optimization to start rendering the list at the index provided. ContentOffset does not contain this optimization and there is currently no way to specify the first item in the list to start rendering without contentOffset being ignored. This change makes it so that if both initialScrollIndex and ContentOffset are provided, the list will start rendering at the initialScrollIndex but ContentOffset will still be used to set the scroll position. initialScrollIndex functionality will remain the same if ContentOffset is not provided. Changelog: [Changed] VirtualizedList will use contentOffset for scroll position instead of initialScrollIndex if both are provided Reviewed By: sahrens Differential Revision: D21980172 fbshipit-source-id: 36d2d2bc360845ef02329d2b95a2cf14b91c2b0b
This commit is contained in:
committed by
Facebook GitHub Bot
parent
952c03b99a
commit
3346ac7f96
@@ -1491,10 +1491,12 @@ class VirtualizedList extends React.PureComponent<Props, State> {
|
||||
this.props.initialScrollIndex > 0 &&
|
||||
!this._hasDoneInitialScroll
|
||||
) {
|
||||
this.scrollToIndex({
|
||||
animated: false,
|
||||
index: this.props.initialScrollIndex,
|
||||
});
|
||||
if (this.props.contentOffset == null) {
|
||||
this.scrollToIndex({
|
||||
animated: false,
|
||||
index: this.props.initialScrollIndex,
|
||||
});
|
||||
}
|
||||
this._hasDoneInitialScroll = true;
|
||||
}
|
||||
if (this.props.onContentSizeChange) {
|
||||
|
||||
Reference in New Issue
Block a user