Skip to content

Commit

Permalink
Cache Reanimated worklets (#7068)
Browse files Browse the repository at this point in the history
* Undo perf hackfix

* Bump Reanimated to include software-mansion/react-native-reanimated#6758

* Bump to 3.17.0-nightly-20241211-17e89ca24
  • Loading branch information
gaearon authored Dec 12, 2024
1 parent 084905c commit c8745a9
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 24 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@
"react-native-picker-select": "^9.3.1",
"react-native-progress": "bluesky-social/react-native-progress",
"react-native-qrcode-styled": "^0.3.3",
"react-native-reanimated": "^3.16.3",
"react-native-reanimated": "3.17.0-nightly-20241211-17e89ca24",
"react-native-root-siblings": "^4.1.1",
"react-native-safe-area-context": "4.14.0",
"react-native-screens": "~4.3.0",
Expand Down
25 changes: 6 additions & 19 deletions src/view/com/util/MainScrollProvider.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
import React, {useCallback, useEffect} from 'react'
import {NativeScrollEvent} from 'react-native'
import {
interpolate,
makeMutable,
useSharedValue,
withSpring,
} from 'react-native-reanimated'
import {interpolate, useSharedValue, withSpring} from 'react-native-reanimated'
import EventEmitter from 'eventemitter3'

import {ScrollProvider} from '#/lib/ScrollContext'
Expand All @@ -20,18 +15,6 @@ function clamp(num: number, min: number, max: number) {
return Math.min(Math.max(num, min), max)
}

const V0 = makeMutable(
withSpring(0, {
overshootClamping: true,
}),
)

const V1 = makeMutable(
withSpring(1, {
overshootClamping: true,
}),
)

export function MainScrollProvider({children}: {children: React.ReactNode}) {
const {headerHeight} = useShellLayout()
const {headerMode} = useMinimalShellMode()
Expand All @@ -42,7 +25,11 @@ export function MainScrollProvider({children}: {children: React.ReactNode}) {
const setMode = React.useCallback(
(v: boolean) => {
'worklet'
headerMode.set(v ? V1.get() : V0.get())
headerMode.set(() =>
withSpring(v ? 1 : 0, {
overshootClamping: true,
}),
)
},
[headerMode],
)
Expand Down
8 changes: 4 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -16047,10 +16047,10 @@ react-native-qrcode-styled@^0.3.3:
qrcode "^1.5.4"
react-fast-compare "^3.2.2"

react-native-reanimated@^3.16.3:
version "3.16.3"
resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-3.16.3.tgz#3b559dca49e9e40abcf5de834dc27fc05f856b66"
integrity sha512-OWlA6e1oHhytTpc7WiSZ7Tmb8OYwLKYZz29Sz6d6WAg60Hm5GuAiKIWUG7Ako7FLcYhFkA0pEQ2xPMEYUo9vlw==
react-native-reanimated@3.17.0-nightly-20241211-17e89ca24:
version "3.17.0-nightly-20241211-17e89ca24"
resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-3.17.0-nightly-20241211-17e89ca24.tgz#af0c36e278646eb2f79e28ad0047cfd80d0e29f5"
integrity sha512-5p7jr0DrnID1puOzMel3VZVRw5Hl/UdMUvPCI1sEG9IA2mUaWrgeoojS2wVwW1U0Pj6HXjPNEimDSXZneZKNuQ==
dependencies:
"@babel/plugin-transform-arrow-functions" "^7.0.0-0"
"@babel/plugin-transform-class-properties" "^7.0.0-0"
Expand Down

0 comments on commit c8745a9

Please sign in to comment.