Skip to content

Commit

Permalink
Merge pull request #4300 from Expensify/marcaaron-fixOptionsList
Browse files Browse the repository at this point in the history
Fix broken list components on staging
  • Loading branch information
marcaaron authored Jul 29, 2021
2 parents f35aa01 + a2c977c commit 53793a0
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions src/components/OptionsList.js
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ class OptionsList extends Component {
this.renderSectionHeader = this.renderSectionHeader.bind(this);
this.extractKey = this.extractKey.bind(this);
this.onScrollToIndexFailed = this.onScrollToIndexFailed.bind(this);
this.onViewableItemsChanged = this.onViewableItemsChanged.bind(this);
this.viewabilityConfig = {viewAreaCoveragePercentThreshold: 95};
this.didLayout = false;
}
Expand All @@ -137,6 +138,15 @@ class OptionsList extends Component {
return false;
}

onViewableItemsChanged() {
if (this.didLayout || !this.props.onLayout) {
return;
}

this.didLayout = true;
this.props.onLayout();
}

/**
* We must implement this method in order to use the ref.scrollToLocation() method.
* See: https://reactnative.dev/docs/sectionlist#scrolltolocation
Expand Down Expand Up @@ -238,14 +248,7 @@ class OptionsList extends Component {
maxToRenderPerBatch={5}
windowSize={5}
viewabilityConfig={this.viewabilityConfig}
onViewableItemsChanged={() => {
if (this.didLayout) {
return;
}

this.didLayout = true;
this.props.onLayout();
}}
onViewableItemsChanged={this.onViewableItemsChanged}
/>
</View>
);
Expand Down

0 comments on commit 53793a0

Please sign in to comment.