From c19e93bd49e5e6bde9ab18c3c1577fa88e380e43 Mon Sep 17 00:00:00 2001 From: Serhii Lizunov <34252204+LizunovSergey@users.noreply.github.com> Date: Wed, 12 Aug 2026 19:58:09 +0200 Subject: [PATCH] fix: keep sticky header offset out of content layout --- src/__tests__/RecyclerView.test.tsx | 21 +++++++++++++++++++++ src/recyclerview/RecyclerView.tsx | 3 +-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/__tests__/RecyclerView.test.tsx b/src/__tests__/RecyclerView.test.tsx index c01af4834..efccc56fa 100644 --- a/src/__tests__/RecyclerView.test.tsx +++ b/src/__tests__/RecyclerView.test.tsx @@ -98,6 +98,27 @@ describe("RecyclerView", () => { }), }); }); + + it("does not apply the sticky header offset to the content layout", () => { + const result = render( + {item}} + stickyHeaderIndices={[0]} + stickyHeaderConfig={{ offset: 100 }} + overrideProps={{ initialDrawBatchSize: 1 }} + drawDistance={0} + /> + ); + + const measurementView = result.findAll(View).find(({ props }) => { + const style = props.style; + return !Array.isArray(style) && style?.height === 0; + }); + + expect(measurementView).toBeDefined(); + expect(measurementView?.props.style).not.toHaveProperty("marginTop"); + }); }); describe("Masonry Layout", () => { diff --git a/src/recyclerview/RecyclerView.tsx b/src/recyclerview/RecyclerView.tsx index 3c25e7e89..dd45de264 100644 --- a/src/recyclerview/RecyclerView.tsx +++ b/src/recyclerview/RecyclerView.tsx @@ -505,14 +505,13 @@ const RecyclerViewComponent = ( return ( ); - }, [horizontal, stickyHeaderOffset]); + }, [horizontal]); const scrollAnchor = useMemo(() => { if (shouldMaintainVisibleContentPosition) {