diff --git a/src/components/Pagination/Basic/PaginationItem.tsx b/src/components/Pagination/Basic/PaginationItem.tsx index da7fe35f..3e036ee8 100644 --- a/src/components/Pagination/Basic/PaginationItem.tsx +++ b/src/components/Pagination/Basic/PaginationItem.tsx @@ -1,9 +1,9 @@ import type { PropsWithChildren } from "react"; -import React from "react"; +import React, { useState } from "react"; import type { ViewStyle } from "react-native"; import { Pressable, View } from "react-native"; import type { SharedValue } from "react-native-reanimated"; -import Animated, { Extrapolation, interpolate, useAnimatedStyle } from "react-native-reanimated"; +import Animated, { Extrapolation, interpolate, useAnimatedReaction, useAnimatedStyle } from "react-native-reanimated"; export type DotStyle = Omit & { width?: number; @@ -74,13 +74,19 @@ export const PaginationItem: React.FC< }; }, [animValue, index, count, horizontal]); + const [isSelected, setIsSelected] = useState(false) + + useAnimatedReaction(() => animValue.value, (animValue) => { + scheduleOnRN(setIsSelected, animValue === index) + }, [animValue, index]) + return ( animValue.value, (animValue) => { + scheduleOnRN(setIsSelected, animValue === index) + }, [animValue, index]) + return (