nodabasi
nodabasi

Reputation: 58

React Native Universal Link Doesn't Trigger addEventListener

I have a working universal link it my website and I can read the link to fetch some data with getInitialUrl function but same universal link doesn't trigger addEventListener function.

  useEffect(() => {

dispatch(setLoaderScreen({}));
Linking.addEventListener('url', event => {
  console.log('event listener');
  if (event !== null) {
    if (String(event.url).includes('reset-page')) {
      props.navigation.navigate('Password');
      dispatch(setDeepLinkUrl({url: event.url}));
    }
  }
});

Linking.getInitialURL().then(url => {
  console.log('intial');
  if (url !== null) {
    if (String(url).includes('reset-page')) {
      props.navigation.navigate('Password');
      dispatch(setDeepLinkUrl({url: url}));
    }
  }
});


return () => {
  dispatch(closeLoader({}));
};}, []);

Upvotes: 1

Views: 673

Answers (1)

f.anderzon
f.anderzon

Reputation: 161

When I had this issue I realized I was missing this in my AppDelegate. It was part of the Linking documentation earlier, but I think React Native adds it automatically when creating your project now.

- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity
restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler
{
return [RCTLinkingManager application:application
                 continueUserActivity:userActivity
                   restorationHandler:restorationHandler];
}

Upvotes: 0

Related Questions