Quantcast
Channel: Active questions tagged react-native+typescript - Stack Overflow
Viewing all articles
Browse latest Browse all 6287

How to navigate from linking (deep linking with branch.io) when navigator hasn't been created yet?

$
0
0

I pretty much followed both react-navigation deep linking and branch.io react-native documentation, and either both are deprecated or just not completely helpful.

All I want is that whenever a deep link reads from the linking, navigate to a certain screen, I'm not looking to implement a listener on a specific screen, I want this on a root path, and is either the onReady (which for me didn't work) or linking from navigator container

this is my code, very simple

const linking: LinkingOptions = {  prefixes: ['agendameio://', 'https://agendame.io', 'https://agendameio.app.link', 'https://agendameio.app-alternative.link'],  subscribe(listener) {    const navigation = useNavigation();    const onReceiveURL = ({ url }: { url: string }) => listener(url);    Linking.addEventListener('url', onReceiveURL);    branch.skipCachedEvents();    branch.subscribe(async ({ error, params, uri }) => {      if (error) {        console.error('Error from Branch: '+ error);        return;      }      if (params) {        DataManager.DynamicURL = params['~id'] === "951933826563912687" ? params.id : undefined;      }      let url = params?.['+url'] || params?.['~referring_link']; // params !== undefined ? `agendameio://empresa/${params.id}` : 'agendameio://empresa';      navigation.navigate(`DetalleEmpresa${params.id}`);      listener(url);    });    return () => {      Linking.removeEventListener('url', onReceiveURL);      branch.logout();    };  },

I instantly get an error due to use navigation, but I really don't know what else to use to navigate to inside the app


Viewing all articles
Browse latest Browse all 6287

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>