Fix stutter when swiping feeds on Android (#6765)

This commit is contained in:
dan
2024-11-26 23:56:57 +00:00
committed by GitHub
parent 736ea3f49d
commit 2c2d12b394
2 changed files with 1 additions and 13 deletions
+1 -9
View File
@@ -1,10 +1,5 @@
import React from 'react'
import {
cancelAnimation,
SharedValue,
useSharedValue,
withSpring,
} from 'react-native-reanimated'
import {SharedValue, useSharedValue, withSpring} from 'react-native-reanimated'
type StateContext = {
headerMode: SharedValue<number>
@@ -42,14 +37,11 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
const setMode = React.useCallback(
(v: boolean) => {
'worklet'
// Cancel any existing animation
cancelAnimation(headerMode)
headerMode.set(() =>
withSpring(v ? 1 : 0, {
overshootClamping: true,
}),
)
cancelAnimation(footerMode)
footerMode.set(() =>
withSpring(v ? 1 : 0, {
overshootClamping: true,
-4
View File
@@ -1,7 +1,6 @@
import React, {useCallback, useEffect} from 'react'
import {NativeScrollEvent} from 'react-native'
import {
cancelAnimation,
interpolate,
makeMutable,
useSharedValue,
@@ -43,7 +42,6 @@ export function MainScrollProvider({children}: {children: React.ReactNode}) {
const setMode = React.useCallback(
(v: boolean) => {
'worklet'
cancelAnimation(headerMode)
headerMode.set(v ? V1.get() : V0.get())
},
[headerMode],
@@ -149,8 +147,6 @@ export function MainScrollProvider({children}: {children: React.ReactNode}) {
const newValue = clamp(startModeValue + dProgress, 0, 1)
if (newValue !== headerMode.get()) {
// Manually adjust the value. This won't be (and shouldn't be) animated.
// Cancel any any existing animation
cancelAnimation(headerMode)
headerMode.set(newValue)
}
} else {