diff --git a/packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm b/packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm index 5c3f18d1c16c08..b8894132b77619 100644 --- a/packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +++ b/packages/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm @@ -675,17 +675,17 @@ - (void)scrollToOffset:(CGPoint)offset - (void)scrollToOffset:(CGPoint)offset animated:(BOOL)animated { + if (_layoutMetrics.layoutDirection == LayoutDirection::RightToLeft) { + // Adjusting offset.x in right to left layout direction. + offset.x = self.contentSize.width - _scrollView.frame.size.width - offset.x; + } + if (CGPointEqualToPoint(_scrollView.contentOffset, offset)) { return; } [self _forceDispatchNextScrollEvent]; - if (_layoutMetrics.layoutDirection == LayoutDirection::RightToLeft) { - // Adjusting offset.x in right to left layout direction. - offset.x = self.contentSize.width - _scrollView.frame.size.width - offset.x; - } - [_scrollView setContentOffset:offset animated:animated]; if (!animated) {