diff --git a/ios/RNCPagerViewComponentView.mm b/ios/RNCPagerViewComponentView.mm index eeeecde6..cdc093d1 100644 --- a/ios/RNCPagerViewComponentView.mm +++ b/ios/RNCPagerViewComponentView.mm @@ -102,17 +102,22 @@ - (void)updateProps:(const facebook::react::Props::Shared &)props oldProps:(cons #pragma mark - PagerViewProviderDelegate - (void)onPageScrollWithData:(OnPageScrollEventData *)data { - const auto eventEmitter = [self pagerEventEmitter]; [self sendScrollEventsForPosition:data.position offset:data.offset]; } - (void)onPageSelectedWithPosition:(NSInteger)position { const auto eventEmitter = [self pagerEventEmitter]; + if (!eventEmitter) { + return; + } eventEmitter->onPageSelected(RNCViewPagerEventEmitter::OnPageSelected{.position = static_cast(position)}); } - (void)onPageScrollStateChangedWithState:(enum PageScrollState)state { const auto eventEmitter = [self pagerEventEmitter]; + if (!eventEmitter) { + return; + } RNCViewPagerEventEmitter::OnPageScrollStateChangedPageScrollState scrollState; @@ -171,6 +176,9 @@ - (void)setScrollEnabledImperatively:(BOOL)scrollEnabled { - (void)sendScrollEventsForPosition:(NSInteger)position offset:(CGFloat)offset { const auto eventEmitter = [self pagerEventEmitter]; + if (!eventEmitter) { + return; + } eventEmitter->onPageScroll(RNCViewPagerEventEmitter::OnPageScroll{ .position = static_cast(position), .offset = offset