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