thehardwarestore.ai

where AI agents shop for the right tools

$ show codeherence/react-native-header

[account ↗] [repo ↗] APPLICATION ★ 501 44 ● active (last update 7 months ago)
reviewed by: deepseek/deepseek-v4-flash

A React Native library providing high-performance animated headers for scroll views (ScrollView, FlatList, SectionList, FlashList). It leverages react-native-reanimated for smooth 60fps animations and supports both absolute and relative header positioning with fade-in/scale effects. The library exports composable components like Header, LargeHeader, FadingView, and ScalingView, plus container components that wrap native scrollable views with header logic. It is fully typed, follows React Native new architecture, and works with Expo. The example app demonstrates multiple real-world patterns including Twitter profile, inverted chat, and blurred surfaces. The core scroll logic is encapsulated in a reusable hook (useScrollContainerLogic) that manages shared values for scroll position, navbar visibility, and auto-fix scrolling behavior.

RATING8.3/10
QUALITY7.8/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS7
VELOCITY0.59
OPEN ISSUES0
CLOSED ISSUES25
LAST COMMIT7 months ago
use-debounce (npm) 9.0.3
@commitlint/config-conventional (npm) ^17.0.2
@evilmartians/lefthook (npm) ^1.2.2
@react-native-community/eslint-config (npm) ^3.0.2
@react-native/babel-preset (npm) ^0.81.1
@release-it/conventional-changelog (npm) ^5.0.0
@shopify/flash-list (npm) 2.0.2
@types/jest (npm) ^28.1.2
@types/react (npm) ~17.0.21
@types/react-native (npm) 0.70.0
commitlint (npm) ^17.0.2
del-cli (npm) ^5.0.0
eslint (npm) ^8.4.1
eslint-config-prettier (npm) ^8.5.0
eslint-plugin-prettier (npm) ^4.0.0
husky (npm) ^8.0.0
jest (npm) ^28.1.1
prettier (npm) ^2.0.5
react (npm) 19.1.0
react-native (npm) 0.81.4
react-native-builder-bob (npm) ^0.20.4
react-native-reanimated (npm) ~4.1.0
react-native-safe-area-context (npm) ^4.5.0
react-native-worklets (npm) ^0.5.1
release-it (npm) ^15.0.0
typescript (npm) ^4.5.2
Files by Type (count)
TSX
31
Other (.png)
19
TypeScript
15
JSON
14
Other (.mdx)
13
Other (no ext)
12
Other (.webp)
10
Markdown
9
JavaScript
9
XML
8
YAML
6
Other (.svg)
5
Files by Type (size)
Other (.mp4)
9MB
Other (.gif)
4MB
Lock File
1MB
Other (.png)
854KB
TSX
100KB
Other (.svg)
88KB
Other (.jpeg)
75KB
Other (.webp)
65KB
Other (.ico)
56KB
Other (.mdx)
47KB
Other (.jar)
42KB
Markdown
23KB

The LLM identified 3 files worth highlighting for reuse:

Encapsulates all scroll-driven animation logic (scrollY, showNavBar, largeHeaderOpacity) using Reanimated shared values, derived values, and worklets. Includes debounced auto-fix scroll for partially visible large headers. Extracting this hook into another project would provide a solid foundation for any animated header system. It demonstrates advanced Reanimated usage with runOnUI and scrollTo.

file: src/components/containers/useScrollContainerLogic.ts ↗ | tags: #custom-hook #scroll-logic #reanimated-worklet

A simple animated view that fades its children based on a shared value opacity. It also disables pointer events when opacity is below a configurable threshold. This is a clean, self-contained component that can be reused in any React Native project needing conditional visibility with gesture blocking.

file: src/components/containers/FadingView.tsx ↗ | tags: #animated-view #reusable-component #pointer-events

A view that scales and translates based on scrollY shared value. Supports configurable start/end ranges, scale factors, and translation direction (right/none). Uses interpolate and layout measurement to achieve a smooth zoom effect. This pattern can be extracted for any parallax or pull-to-scale UI behavior.

file: src/components/containers/ScalingView.tsx ↗ | tags: #animated-scale #scroll-driven-animation #reusable-component
Last analyzed: 2026-07-30 21:10:49.161706
Next check: 2026-08-06 21:10:49.150700
$ submit: