From eaed48fc7d1a8b267e16cebfa14c8953356d2a7c Mon Sep 17 00:00:00 2001 From: Kacie Bawiec Date: Thu, 25 Mar 2021 11:29:58 -0700 Subject: [PATCH] Fix ScrollViewStickyHeader to push up header above it Summary: When there are multiple sticky headers, ScrollViewStickyHeader should push up the header above it when it gets to the top. This behavior was accidentally changed in D21948830 (https://github.com/facebook/react-native/commit/fa5d3fb6b8c561b749f3e86316d06543a52dcc1c) when this component was fixed to work in Fabric. This diff added a new variable `_shouldRecreateTranslateY`, which determines whether the `translateY` value should be recreated on render. `_shouldRecreateTranslateY` was not being set to true during `setNextHeaderY`, so the next header's Y value was never accounted for at render. Changelog: [General][Fixed] Fix ScrollViewStickyHeader to push up header above it Reviewed By: lunaleaps Differential Revision: D27277829 fbshipit-source-id: 83c9aacd454be178649bf8d060d1a5c750f4060f --- Libraries/Components/ScrollView/ScrollViewStickyHeader.js | 1 + 1 file changed, 1 insertion(+) diff --git a/Libraries/Components/ScrollView/ScrollViewStickyHeader.js b/Libraries/Components/ScrollView/ScrollViewStickyHeader.js index 8d53db0f9eed61..230e275b37c8f3 100644 --- a/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +++ b/Libraries/Components/ScrollView/ScrollViewStickyHeader.js @@ -64,6 +64,7 @@ class ScrollViewStickyHeader extends React.Component { _debounceTimeout: number = Platform.OS === 'android' ? 15 : 64; setNextHeaderY(y: number) { + this._shouldRecreateTranslateY = true; this.setState({nextHeaderLayoutY: y}); }