Skip to content

Commit 229c71b

Browse files
fix: update progress handling to use get() method for animated values
1 parent eacae26 commit 229c71b

6 files changed

Lines changed: 14 additions & 14 deletions

File tree

example/app/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import { interpolate } from 'react-native-reanimated';
55

66
const PressableHighlight = createAnimatedPressable((progress) => {
77
'worklet';
8-
const opacity = interpolate(progress.value, [0, 1], [0, 0.1]).toFixed(2);
9-
const scale = interpolate(progress.value, [0, 1], [1, 0.95]);
8+
const opacity = interpolate(progress.get(), [0, 1], [0, 0.1]).toFixed(2);
9+
const scale = interpolate(progress.get(), [0, 1], [1, 0.95]);
1010

1111
return {
1212
backgroundColor: `rgba(255,255,255,${opacity})`,

example/app/screen.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ const PressableRotate = createAnimatedPressable((progress) => {
88
'worklet';
99
return {
1010
transform: [
11-
{ rotate: `${(progress.value * Math.PI) / 4}rad` },
12-
{ scale: interpolate(progress.value, [0, 1], [1, 0.9]) },
11+
{ rotate: `${(progress.get() * Math.PI) / 4}rad` },
12+
{ scale: interpolate(progress.get(), [0, 1], [1, 0.9]) },
1313
],
1414
backgroundColor: interpolateColor(
15-
progress.value,
15+
progress.get(),
1616
[0, 1],
1717
['#d1d1d1', '#000000']
1818
),
@@ -21,8 +21,8 @@ const PressableRotate = createAnimatedPressable((progress) => {
2121
width: 0,
2222
height: 0,
2323
},
24-
shadowOpacity: interpolate(progress.value, [0, 1], [0, 1]),
25-
shadowRadius: interpolate(progress.value, [0, 1], [0, 150]),
24+
shadowOpacity: interpolate(progress.get(), [0, 1], [0, 1]),
25+
shadowRadius: interpolate(progress.get(), [0, 1], [0, 150]),
2626
};
2727
});
2828

src/pressables/base.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,26 +94,26 @@ const BasePressable: React.FC<BasePressableProps> = React.memo(
9494
}, [animationType]);
9595

9696
const progress = useDerivedValue<number>(() => {
97-
return withAnimation(active.value ? 1 : 0, config);
97+
return withAnimation(active.get() ? 1 : 0, config);
9898
}, [config, withAnimation]);
9999

100100
const onPressInWrapper = useCallback(() => {
101101
if (!enabled) return;
102-
active.value = true;
102+
active.set(true);
103103
onPressInProvider?.();
104104
onPressIn?.();
105105
}, [active, enabled, onPressIn, onPressInProvider]);
106106

107107
const onPressWrapper = useCallback(() => {
108108
if (!enabled) return;
109-
active.value = false;
109+
active.set(false);
110110
onPressProvider?.();
111111
onPress?.();
112112
}, [active, enabled, onPress, onPressProvider]);
113113

114114
const onPressOutWrapper = useCallback(() => {
115115
if (!enabled) return;
116-
active.value = false;
116+
active.set(false);
117117
onPressOutProvider?.();
118118
onPressOut?.();
119119
}, [active, enabled, onPressOut, onPressOutProvider]);

src/pressables/custom/opacity.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ import { createAnimatedPressable } from '../hoc';
44
export const PressableOpacity = createAnimatedPressable((progress) => {
55
'worklet';
66
return {
7-
opacity: interpolate(progress.value, [0, 1], [1, 0.5]),
7+
opacity: interpolate(progress.get(), [0, 1], [1, 0.5]),
88
};
99
});

src/pressables/custom/scale.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ export const PressableScale = createAnimatedPressable((progress) => {
66
return {
77
transform: [
88
{
9-
scale: interpolate(progress.value, [0, 1], [1, 0.96]),
9+
scale: interpolate(progress.get(), [0, 1], [1, 0.96]),
1010
},
1111
],
1212
};

src/pressables/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { SharedValue } from 'react-native-reanimated';
33
export const unwrapSharedValue = <T>(base: SharedValue<T> | T): T => {
44
'worklet';
55
if (typeof base === 'object' && base !== null && 'value' in base) {
6-
return base.value;
6+
return base.get();
77
}
88
return base;
99
};

0 commit comments

Comments
 (0)