@@ -72,8 +72,8 @@ type CarouselContext = {
7272 handleScrollToNext : ( ) => void ;
7373 handleScrollToPrev : ( ) => void ;
7474 scrollIntoView : ScrollIntoView ;
75- remainingForwards ?: number ;
76- remainingBackwards ?: number ;
75+ remainingForwards : React . RefObject < number > ;
76+ remainingBackwards : React . RefObject < number > ;
7777 setRemainingForwards : ( remainingForwards : number ) => void ;
7878 setRemainingBackwards : ( remainingBackwards : number ) => void ;
7979 scrollStateRef ?: MaybeUndefined < RefObject < ScrollState > > ;
@@ -91,6 +91,8 @@ const CarouselContext = createContext<CarouselContext>({
9191 setScrollsForwards : ( ) => { } ,
9292 scrollsBackwards : false ,
9393 scrollsForwards : false ,
94+ remainingForwards : { current : 0 } ,
95+ remainingBackwards : { current : 0 } ,
9496 setRemainingForwards : ( ) => { } ,
9597 setRemainingBackwards : ( ) => { } ,
9698 setScrollStateRef : ( ) => { } ,
@@ -147,8 +149,10 @@ const CarouselRoot = forwardRef<HTMLDivElement, CarouselRootProps>(
147149 } ) ;
148150 const [ scrollsBackwards , setScrollsBackwards ] = useState ( false ) ;
149151 const [ scrollsForwards , setScrollsForwards ] = useState ( false ) ;
150- const [ remainingForwards , setRemainingForwards ] = useState ( 0 ) ;
151- const [ remainingBackwards , setRemainingBackwards ] = useState ( 0 ) ;
152+ const remainingForwards = useRef ( 0 ) ;
153+ const remainingBackwards = useRef ( 0 ) ;
154+ const setRemainingForwards = useCallback ( ( value : number ) => { remainingForwards . current = value ; } , [ ] ) ;
155+ const setRemainingBackwards = useCallback ( ( value : number ) => { remainingBackwards . current = value ; } , [ ] ) ;
152156 const [ scrollStateRef , setScrollStateRef ] =
153157 useState < MaybeUndefined < RefObject < ScrollState > > > ( undefined ) ;
154158 const rootRef = useRef < HTMLDivElement > ( null ) ;
@@ -494,8 +498,6 @@ const CarouselRoot = forwardRef<HTMLDivElement, CarouselRootProps>(
494498 ref ,
495499 scrollsBackwards ,
496500 scrollsForwards ,
497- remainingForwards ,
498- remainingBackwards ,
499501 scrollStateRef ,
500502 handleScrollToNext ,
501503 handleScrollToPrev ,
0 commit comments