// Animations run on the native thread โ guaranteed 60fps
Animated.spring(scale, {
toValue: 1,
useNativeDriver: true, // โ off the JS bridge
}).start();
// Styles computed once, shared across all instances
const buttonStyle = tv({
base: 'rounded-lg px-4 py-2 items-center justify-center',
variants: {
action: {
primary: 'bg-primary-500 active:bg-primary-600',
negative: 'bg-error-500 active:bg-error-600',
},
},
});